ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

nginx + last rewrite


  • To: nginx-ru@xxxxxxxxx
  • Subject: nginx + last rewrite
  • From: "skeletor" <nginx-forum@xxxxxxxx>
  • Date: Mon, 24 Mar 2014 09:22:04 -0400
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=selenium.jlkhosting.com; s=x; h=Date:Sender:From:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=RdpC2sv5MNAbzOt3DG4mlpYvEs7meI1d3k0g1pU2NtU=; b=EI8HcfyMt+9qf+gDUMt857fWkdf0bvzYfZPMy810TH+rDshEsGJllTxlTzA9SbS7N1EFNQym4Hob9S5tlTgUvEfm9VK5zIAWVbhb6dXoDKJt+42sOEkUsBWLvvDUVLqarqz2oQTKBIGZCj7lHom05j7/Nckf/skx8imyfz44qPQ=;

Всем привет.
Не получается правильно написать 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. Не могу понять, как это исправить.

Заранее спасибо.

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

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.