Здравствуйте!
Я пишу:
[code]
location / {
root /www/example.com/www;
index index php;
try_files $uri $uri/ @my_rule;
}
location @my_rule
{
root /www/example.com/www/;
fastcgi_index index.php;
fastcgi_pass unix:/tmp/php-fastcgi.sock;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param SCRIPT_FILENAME /www/example.com/www/index.php;
fastcgi_param QUERY_STRING do=$uri;
}
[/code]
Всё отлично, но когда я обращаюсь на прямую к скрипту (/db/classes.php, например) или к корню сайта (http://www.example.com), try_files не срабатывает, и nginx, вполне предсказуемо отдаёт мне содержимое соответствующего файла или index.php.
Как сделать так, чтобы в любом случае выполнялся index.php.
Я понимаю, что можно описать второй location ~ \.php$, но эта идея мне не очень нравится.
Спасибо!