Приветствую. Большое спасибо! Все понял. В моем случае работает в таком виде:
if ($request_uri ~ "^(.*/)index.php$"){return 301 $1;} location / { try_files $uri $uri/ /index.php?q=$request_uri; } location ~ \.php { .... } > Почитайте ещё раз данное сообщение: > > https://forum.nginx.org/read.php?21,232265,283930#msg-283930 > > Проблема решается в nginx элементарнейшим образом: > > index index.php; > if ($request_uri ~ "^(.*/)index.php$") { return 301 $1; } > > См. > https://stackoverflow.com/questions/21687288/nginx-redirect-loop-remov > e-index-php-from-url/21813759#21813759 > > Смысл здесь в разнице между внешними и внутренними перенаправлениями. > При > использовании $uri (например, через location или rewrite), вы ловите > внутреннее (служебное) перенаправление на /index.php при внешнем > запросе на > /, и выдаёте внешнее перенаправление опять на /, тогда как клиент и > так уже > запрашивал /. Для правильной работы нужно использовать не $uri, а > $request_uri, и перенаправлять исключительно внешние запросы > /index.php. > > http://nginx.org/r/$uri/ru > http://nginx.org/r/$request_uri/ru > > К. > http://cm.su/ > Posted at Nginx Forum: https://forum.nginx.org/read.php?21,232265,283970#msg-283970 _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru