Welcome! Log In Create A New Profile

Advanced

Re: Как удалить index.php из url

Constantine A. Murenin
April 28, 2019 06:12PM
Почитайте ещё раз данное сообщение:

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-remove-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/

On Sun, 28 Apr 2019 at 04:57, dimademin <nginx-forum@forum.nginx.org> wrote:

> Движок там MODx, связка nginx + php-fpm, схематично конфиг такой
>
> location / {
> try_files $uri $uri/ @rewrite;
> }
> location @rewrite {
> rewrite ^/(.*)$ /index.php?q=$1;
> }
> location ~ \.php {
> ......
> тут настроено кэширование отдельных страниц сайта
> }
> ну и дальше там еще второстепенные location, статика, закрытые урлы и пр.
>
> обычные урлы разделов, товаров и какие-то доп. типа урл на сортировки
> выглядят примерно так
> http://dom.com/cat1/
> http://dom.com/tovar_blabla/
> http://dom.com/tovar_blabla/?color=red
>
> С приведенным куском конфига все работает. СЕОшники возжелали склеить
> корень
> "/" и "/index.php", то есть что-бы:
> http://dom.com/index.php редиректило(301) на http://dom.com/
>
> Уже не первый день экспериментирую, перепробовал кучу всего и подозреваю
> что
> силами только nginx, это может не получится, как раз по причине
> использования php-fpm. Все попытки это в конфиге nginx приводят к рекурсии.
>
>
> На виртуалке поднял аналогичный конфиг только nginx + apache, через
> htaccess
> это делается без проблем:
>
> RewriteBase /
> RewriteCond /index.php [NC]
> RewriteRule ^(.*)index\.php$ $1 [R=301,L]
>
> Видимо конкретно в моем случае, в роли htaccess, должен выступить скрипт,
> то
> есть этот рерайт наверное нужно делать там.
> Ну у меня просто идеи уже кончились и свои и не свои, может вы свежим
> взглядом что-нить подскажете :)
>
> Вот как-то так, вроде ничего не забыл.
> Спасибо
>
> Posted at Nginx Forum:
> https://forum.nginx.org/read.php?21,232265,283965#msg-283965
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Как удалить index.php из URL

pattern October 26, 2012 07:04PM

Re: Как удалить index.php из URL

Denis F. Latypoff October 27, 2012 01:54PM

Re: Как удалить index.php из URL

pattern October 27, 2012 06:41PM

Re: Как удалить index.php из url

Constantine A. Murenin April 26, 2019 04:22AM

Re: Как удалить index.php из url

Илья Шипицин April 26, 2019 04:24AM

Re: Как удалить index.php из url

dimademin April 26, 2019 10:29AM

Re: Как удалить index.php из url

Kostya Alexandrov via nginx-ru April 26, 2019 02:28PM

Re: Как удалить index.php из url

dimademin April 26, 2019 02:47PM

Re: Как удалить index.php из url

Konstantin Tokarev April 26, 2019 03:20PM

Re: Как удалить index.php из url

dimademin April 27, 2019 09:07AM

Re: Как удалить index.php из url

Константин Ткаченко April 28, 2019 03:46AM

Re: Как удалить index.php из url

dimademin April 28, 2019 05:57AM

Re: Как удалить index.php из url

Constantine A. Murenin April 28, 2019 06:12PM

Re: Как удалить index.php из url

dimademin April 29, 2019 04:49AM

Re: Как удалить index.php из url

Kostya Alexandrov via nginx-ru April 26, 2019 03:46PM

Re: Как удалить index.php из url

Константин Ткаченко April 27, 2019 05:14AM

Re: Как удалить index.php из url

dimademin April 27, 2019 09:09AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 166
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready