Перенаправить `foo /` в foo / bar / `из` foo` [дубликат]

Возможный дубликат:
Все, что вы когда-либо хотели знать о правилах 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/
1
задан 13 April 2017 в 15:14
2 ответа

Перенаправление, которое вы пытаетесь выполнить, не удается, потому что
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]
2
ответ дан 3 December 2019 в 19:14

Один из способов - поместить это в конфигурацию или .htaccess для / branch_index /

RewriteEngine On
RewriteCond %{REQUEST_URI} !^web/
RewriteRule (.*) web/$1 [QSA,L]
1
ответ дан 3 December 2019 в 19:14

Теги

Похожие вопросы