Возможный дубликат:
Все, что вы когда-либо хотели знать о правилах Mod_Rewrite, но боялись спросить?
У меня есть папка ~ / Branches /
, которая доступна через apache2 на localhost / ~ me /
. Теперь у меня есть localhost / ~ me / branch_index / web / index.php
, который я хотел бы сделать доступным по адресу localhost / ~ me / branch_index /
Итак, как я могу перенаправить с / ~ me / branch_index /
в / ~ me / branch_index / web /
из папки / Branches / branch_index /
?
Я пробовал, но не смог преуспевать.
Бесконечный цикл:
Redirect /~me/branches_index/ /~me/branches_index/web/
Поместите / web /
впереди:
Redirect / /web/
Перенаправление, которое вы пытаетесь выполнить, не удается, потому что
Redirect / ~ me / branch_index / / ~ me / branch_index / web /
перенаправит все из / ~ me / branch_index / *
рекурсивно.
Это означает, что / ~ me / branch_index / what / so / ever
будет перенаправлен на / ~ me / branch_index / web / what / so / ever
, таким образом, вы попадаете в бесконечный цикл.
Решение заключается в использовании перезаписи в файле .htaccess
, сохраненном в / ~ me / branch_index /
.
]
Что-то вроде этого кода должно работать:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^(.*)web/(.*)$
RewriteRule ^(.*)$ /~me/branches_index/web/$1 [NC,L]
Один из способов - поместить это в конфигурацию или .htaccess для / branch_index /
RewriteEngine On
RewriteCond %{REQUEST_URI} !^web/
RewriteRule (.*) web/$1 [QSA,L]