Welcome! Log In Create A New Profile

Advanced

nginx + last rewrite

March 24, 2014 09:22AM
Всем привет.
Не получается правильно написать last rewrite. Суть в следующем: при запросе URL'a вида http://domain.com/events/blabla.html нужно его среврайтить на http://domain.com/events/blabla.php и выполнить этот php не меняя основного URL'a. На сервере в папке лежит именно events/blabla.php. Все остальные php-скрипты отрабатываются нормально.
Вот код nginx'a

location / {
index index.php;
}

location /events {
rewrite ^/events/(.*)\.html$ $1.php last;
}

location ~ .php$ {
include fastcgi_params;
fastcgi_pass unix:/var/tmp/php.sock;
fastcgi_index index.php;
fastcgi_param DOCUMENT_ROOT /home/www/sites/domain.com;
fastcgi_param SCRIPT_FILENAME /home/www/sites/domain.com$fastcgi_script_name;
fastcgi_param PATH_TRANSLATED /home/www/sites/domain.com$fastcgi_script_name;
}

Пробовал по-разному:
- выносил rewrite в корень сайта, помещал в lacation /
- добавлял fastcgi_ в location /events (пробовал разные вариации с fastcgi_param SCRIPT_FILENAME)

При запросе в логе вот такое:

FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: XX.XX.XX.XX, server: domain.com, request: "GET /events/brand-awards-2013.html HTTP/1.1", upstream: "fastcgi://unix:/var/tmp/php.sock:", host: "domain.com"

Я так понимаю, по какой-то причине не передаётся правильно сам php-скрипт дальше, на fastcgi. Не могу понять, как это исправить.

Заранее спасибо.
Subject Author Posted

nginx + last rewrite

skeletor March 24, 2014 09:22AM

Re: nginx + last rewrite

Maxim Dounin March 24, 2014 09:54AM

Re: nginx + last rewrite

skeletor March 24, 2014 10:16AM

Re: nginx + last rewrite

skeletor March 24, 2014 10:20AM

Re: nginx + last rewrite

Maxim Dounin March 24, 2014 10:24AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 114
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 500 on July 15, 2024
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready