try_files, location /

Rodion nginx-forum на nginx.us
Сб Июн 4 22:11:56 MSD 2011


Здравствуйте!
Я пишу: 
[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$, но эта идея мне не очень
нравится.

Спасибо!

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,203924,203924#msg-203924




Подробная информация о списке рассылки nginx-ru