Движок там 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, должен выступить скрипт, то есть этот рерайт наверное нужно делать там.
Ну у меня просто идеи уже кончились и свои и не свои, может вы свежим взглядом что-нить подскажете :)
Вот как-то так, вроде ничего не забыл.
Спасибо