Maxim Dounin
March 24, 2014 09:54AM
Hello!

On Mon, Mar 24, 2014 at 09:22:04AM -0400, skeletor wrote:

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

Правильное решение - сделать как-то так:

location = /events/blabla.html {
fastcgi_pass unix:/var/tmp/php.sock;
fastcgi_param SCRIPT_FILENAME $document_root/events/blabla.php;
include fastcgi_params;
}

И не пытаться искать себе проблем не ровном месте.

Если очень хочется починить именно тот конфиг, который вы пытались
писать, то проблема, вероятно, где-то тут:

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

Вы убираете из URI префикс /events/, и в результате php не может
найти скрипт - потому что он таки лежит в папке events.

--
Maxim Dounin
http://nginx.org/

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
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: 90
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