Я хочу перенаправить www.example.com/foo на www.example.com/bar/index.php/foo
Итак, у меня есть правило (mod_rewrite)
<Location />
RewriteEngine on
RewriteRule /(.*) /bar/index.php/$1 [L]
</Location>
Этот конфиг вызывал бесконечный цикл, как исправить?
Спасибо.
Как и предложила Энси, вы должны убедиться, что НЕ пытаетесь получить доступ index.php
:
RewriteEngine on
RewriteCond %{REQUEST_URI} !/bar/index.php/.*
RewriteRule /(.*) /bar/index.php/$1 [L]
Надеюсь это поможет.
Вам следует попробовать добавить RewriteCond: RewriteCond% {HTTP_USER_AGENT} ^ Mozilla.Хром.$
Это должно предотвратить бесконечный цикл *, выполняя перенаправление только тогда, когда запрос поступает из браузера.
* - Предполагаю, что перенаправленный запрос apache будет иметь пустой заголовок HTTP HTTP_USER_AGENT / apache, а не исходный заголовок. P.S: вы можете добавить в список http-заголовок IE.