Перехватывать urlы вида /en/blaster/master/twister/ и делать rewrite на
index.php, при этом пропускать запросы к css,картинкам и запросы на php и
прямо корень сайта пропусать на fastcgi ?
Я сделал следующий конфиг:
location = / {
.... на fastcgi ....
}
location ~* ^.+(\.htaccess|\.htpasswd|htpasswd|htaccess|\.inc)$ {
return 403;
}
location ~* ^(?!.+\.(css|gif|jpg|txt|html|htm|png|jpeg|ico))$ {
rewrite ^.+$ /index.php break;
}
location ~* ^.+\.(php)$ {
.... на fastcgi ....
}
location ~* ^.+\.(jpg|jpeg|gif|png|css|ico|html|txt)$ {
root ... статика ...
}
в итоге на все запросы - /en/blaster/master/ или /booster/ - 404 ошибка и
все, не помогает даже добавление location еще одного
location ~* ^(/.+/)$ {
rewrite ....
}
Не нужен break в
rewrite ^.+$ /index.php break;
так как после break не определяется конфигурация для изменённого URI,
а остаётся та, к которой выполнялся rewrite, то есть,
location ~* ^(?!.+\.(css|gif|jpg|txt|html|htm|png|jpeg|ico))$ {
rewrite ^.+$ /index.php break;
}
В этой конфигурации нет ничего про fastcgi, это статические файлы.
Как я понимаю, в rewrite я не могу прописать pcre, чтобы rewrite срабатывал
"для всего, кроме ...), т..е. ^(?:.+(?!\.css|.htm....))$