Как я могу перенаправить localhost / s в localhost / s / web / index.php для использования mod_rewrite - PullRequest
0 голосов
/ 30 июля 2011

Я разрабатываю небольшое веб-приложение, моя структура каталогов была примерно такой:

htdocs/s/index.php
htdocs/s/views/
htdocs/s/vendors/

, и я использовал это .htaccess:

<IfModule mod_rewrite.c>
   Options -MultiViews
   Options +FollowSymlinks
   RewriteEngine On   
   RewriteBase /s/
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ index.php [QSA,L]
</IfModule>

Таким образом, я могу ввестиlocalhost/s/aaaa для доступа на localhost/s/index.php/aaaa.Но я изменил свою структуру каталогов на что-то вроде этого:

htdocs/s/web/index.php
htdocs/s/views/
htdocs/s/vendors/

И я не знаю, как сделать .htaccess для перенаправления localhost/s/aaa на localhost/s/web/index.php/aaa.

Iмного чего перепробовал но безрезультатно.Кто-нибудь здесь, кто знает больше о .htaccess и mod_rewrite, может мне помочь?

РЕДАКТИРОВАТЬ: Кажется, что это невозможно установить с моим сервером lampp или что-то в этом роде.Но как, черт возьми, людям удается заставить WordPress, Joomla и другие CMS делать это?

Это действительно не так важно в среде разработки, но когда я загружу его в Интернет, есть какой-то способ скрыть все библиотеки и внутренние компоненты приложения для веб-посетителя.Я имею в виду, что все это делают, верно?Итак, как это можно сделать?

РЕДАКТИРОВАТЬ 2: По какой-то странной причине это не может быть таковым на моем домашнем сервере, поэтому я вернулся к своей предыдущей структуре каталогов и совершил неприятный взлом с помощью .htaccess с "Отрицать для всех »в каталогах, которые хотят скрыть.Тэй не будет сильно скрыт, но я не могу найти другого решения ...

1 Ответ

0 голосов
/ 30 июля 2011

Если предоставленные вами правила перезаписи работали нормально, то это также должно работать:

<IfModule mod_rewrite.c>
   Options +FollowSymlinks -MultiViews
   RewriteEngine On   
   RewriteBase /s/
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^(.*)$ web/index.php [QSA,L]
</IfModule>
...