LINUX.ORG.RU
ФорумAdmin

Странно работают rewrite в nginx


0

1

Уважаемые знатоки, подскажите, почему nginx+php-fpm при обращении какому-то файлу по реврайту скачивает его, а не выполняет его? Если обращаться к php файлам напрямую, не через реврайт, то все работает чудесно. Мой .conf:

server {
        listen *:80;
        server_name site.com www.site.com;
        root   /var/www/site.com/web;
        index index.html index.htm index.php index.cgi index.pl index.xhtml;

location /faq {
  rewrite ^/faq/([_A-Za-z0-9-]+)/?$ /index.php?modules=faq&category=$1 break;
}

        location ~ \.php$ {
            try_files $uri =404;
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9010;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_script_name;
            fastcgi_intercept_errors on;
        }

}
То есть если открыть site.com/faq/321/ то скачивается php код

Посмотри на регулярное выражение в твоём php location'е

router ★★★★★ ()

Если что-то работает не так, как надо - включаешь debug лог и смотришь.

leave ★★★★★ ()

А с чего ты взял что regex будет применяться после матченья простых location? Что навело тебя на эту мысль?

catap ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.