Welcome! Log In Create A New Profile

Advanced

Re: Fwd: nginx-fastcgi-rewrite

Юрий Гончаров
November 16, 2012 07:40AM
А магия таки есть


location ~ ^(/[^/]+) {
try_files $uri $1/accesspoint.php /public/accesspoint.php
=405;
include fastcgi_params_ru;
set $myuri $uri;
fastcgi_param REQUEST_URI $myuri;
fastcgi_connect_timeout 3600;
fastcgi_send_timeout 3600;
fastcgi_read_timeout 3600;
fastcgi_pass unix:/tmp/php.socket;
client_max_body_size 100m;
root /www/
}

При такой конфигурации set отрабатывает до try_files и сохраняется
промежуточное значение как надо.
Если этот же location переписать так что делать не set а
сразу fastcgi_param REQUEST_URI $uri - тогда будет /public/accesspoint.php
Получается param сетится уже после try_files а set в location ДО...Магия? :)

16 ноября 2012 г., 1:49 пользователь Валентин Бартенев <vbart@nginx.com>написал:

> On Friday 16 November 2012 02:51:44 Юрий Гончаров wrote:
> > Если нужно debuglog я могу его выслать, могу дать детальнее конфиг или
> > дебаг лог, перефразировать вопрос и т д.. Скажите чего именно не хватает
> > чтобы решить задачу именно так как я её озвучил.
> > Спасибо заранее..
> >
>
> Для этого не нужно debug log, все работает именно так, как вы настроили.
> Я вам указываю на проблему и даю ссылку, где прочитать если что-то не
> понятно.
> Свое первое письмо вы начали с фразы "Помогите разобраться".
>
> Так, как вы решаете задачу - решить её невозможно. Вы хотите чтобы файл,
> который
> обрабатывается php-fpm, и URI, переданный в параметрах - отличались, но
> при этом
> для того и другого пытаетесь использовать этот самый URI одновременно. Не
> может
> одна и та же сущность иметь одновременно два разных значения. Сколько его
> раз
> туда-сюда не переписывай, с помощью try_files или с помощью rewrite.
>
> Нужно отделить скрипт от пути, так отделите:
>
> root /www/projects/domain.com/public_ru;
>
> location /msg/ {
> rewrite ^/msg/(.*)/$ /previewmsg?varMd5=$1 break;
>
> fastcgi_pass unix:/tmp/php.socket;
>
> include fastcgi_params; # оригинальный, который к nginx прилагался,
> # без SCRIPT_FILENAME
>
> fastcgi_param SCRIPT_FILENAME
> $document_root/public/accesspoint.php;
>
> # дабы не дублировать REQUEST_URI из fastcgi_params
> fastcgi_param PATH_INFO $uri;
> }
>
> а вообще так, если очень хочется:
>
> location ~ ^/msg/(.*)/$ {
> fastcgi_pass unix:/tmp/php.socket;
>
> fastcgi_param SCRIPT_FILENAME /path/to/accesspoint.php;
> fastcgi_param QUERY_STRING varMd5=$1;
> fastcgi_param REQUEST_URI /previewmsg;
>
> # Остальное при необходимости. Понятие не имею,
> # что ещё php-fpm обязательно требуется для работы,
> # и что конкретно требуется вам в вашем скрипте.
> }
>
> ну и ещё есть сотня вариантов это получить, той или иной степени корявости.
>
> --
> Валентин Бартенев
> http://nginx.com/support.html
> http://nginx.org/en/donation.html
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@nginx.org
> http://mailman.nginx.org/mailman/listinfo/nginx-ru
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://mailman.nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

Fwd: nginx-fastcgi-rewrite

Юрий Гончаров November 15, 2012 12:08PM

Re: Fwd: nginx-fastcgi-rewrite

Валентин Бартенев November 15, 2012 01:08PM

Re: Fwd: nginx-fastcgi-rewrite

Юрий Гончаров November 15, 2012 02:16PM

Re: Fwd: nginx-fastcgi-rewrite

Валентин Бартенев November 15, 2012 04:58PM

Re: Fwd: nginx-fastcgi-rewrite

Юрий Гончаров November 15, 2012 05:52PM

Re: Fwd: nginx-fastcgi-rewrite

Юрий Гончаров November 15, 2012 05:52PM

Re: Fwd: nginx-fastcgi-rewrite

Валентин Бартенев November 15, 2012 06:52PM

Re: Fwd: nginx-fastcgi-rewrite

Юрий Гончаров November 16, 2012 07:40AM

Re: Fwd: nginx-fastcgi-rewrite

Валентин Бартенев November 16, 2012 08:32AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 127
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready