Задача кажется очень простой:Как остановить цикл перенаправления RewriteEngine/PHP?
все запросы должны быть переданы через один файл.
Однако
, когда следующий код добавляется в httpd.conf:
RewriteEngine On
RewriteCond %{SCRIPT_FILENAME} !-d
RewriteCond %{SCRIPT_FILENAME} !-f
RewriteRule ^(.*)$ /index.php?route=$1 [QSA,R=301,L]
и следующий код добавляется /index.php:
if(isset($_GET["route"]) && $_GET["route"] != "/index.php"){
header("Location: ".$_GET["route"]);
}
, то это вызывает перенаправление цикл !
Причины для примера такого цикла:
www.site.com/image.jpg -> (перенаправляются httpd.conf)
www.site.com/index.php?route =/image.jpg -> (перенаправляются index.php)
www.site.com/image.jpg -> (перенаправляются httpd.conf)
www.site.com/index.php?route=/image.jpg -> (перенаправляется index.php)
...
Итак, вопрос следующий:
Как остановить этот цикл?
Чтобы остановить, например, таким образом:
www.site.com/image.jpg -> (перенаправляются httpd.conf)
www.site.com/index. PHP не путь =/image.jpg -> (перенаправляется index.php)
www.site.com/image.jpg (не далее перенаправление)
Что именно вы хотите выполнить с помощью этой схемы перезаписи/перенаправления? Это поможет найти решение. – Amarnasan
@amarnasan написано в начале сообщения - все запросы должны быть переданы через один файл (который выполняет некоторые дополнительные операции перед началом собственного запроса на обработку) – valeryan