Назад | Перейти на главную страницу

Бесконечный цикл при перезаписи в контексте каталога в Apache

Я хочу перенаправить 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.