Мне нужны любые запросы типа http://example.com/whatever/index.php
, чтобы сделать 301 перенаправление на http://example.com/whatever/
.
Я попробовал добавить:
rewrite ^(.*/)index.php$ $1 permanent;
location / {
index index.php;
}
Проблема здесь: этот переписать запускается на корневом URL-адресе, что вызывает бесконечный цикл переадресации.
Edit:
Мне нужно общее решение
http://example.com/
должен обслуживать файл webroot/index.php
http://example.com/index.php
, если 301 перенаправить на http://example.com/
http://example.com/a/index.php
должен 301 перенаправить на http://example.com/a/
http://example.com/a/
должен обслуживать index.php script at webroot/a/index.php
В принципе, я никогда не хочу показывать "index.php" в адресной строке. У меня есть старые обратные ссылки, которые мне нужно перенаправить на канонический URL.