переписать мод apache - PullRequest
       1

переписать мод apache

0 голосов
/ 08 февраля 2012

Нужна помощь с переписать, пожалуйста.

У меня есть домен http://www.example.com. В корне есть несколько папок. Я хотел бы переписать http://www.example.com/folder1/public/index.php на http://www.example.com/folder1

У меня нет доступа к основной конфигурации Apache, поэтому мне нужно сделать это в .htaccess. Если возможно, я бы также хотел разместить .htaccess внутри folder1, а не в корне.

Любая помощь будет отличной, спасибо.

Ответы [ 2 ]

0 голосов
/ 08 февраля 2012

Мышление обезьяны близко.Попробуйте:

Options +FollowSymLinks -Indexes -MultiViews
RewriteEngine On
RewriteBase /folder1

RewriteRule ^(?!public/)(.*) public/$1 [L]

Вам нужен RewriteBase и вам нужно прекратить рекурсивную оценку правила.Бит (?!public/) означает, что он не совпадает ни с чем, начиная с public/.В правилах .htaccess вам нужен такой тип защиты.

0 голосов
/ 08 февраля 2012

Полагаю, вы пытаетесь перенаправить любой запрос на folder1 на folder1/public. Я имею в виду, что вы хотите, чтобы ваши URL выглядели как http://www.example.com/folder1, тогда как фактический URL будет http://www.example.com/folder1/public/index.php.

Прежде всего, вы должны использовать http://www.example.com/folder1 в своих hrefs и переписать это в http://www.example.com/folder1/public/index.php.

Добавьте нижеследующее к вашему .htaccess, находящемуся в вашей папке folder1.

Options +FollowSymLinks -Indexes -MultiViews
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...