Re: оптимизация (rewrite) рулов

Maxim Dounin mdounin на mdounin.ru
Пн Июн 18 14:32:40 UTC 2012


Hello!

On Mon, Jun 18, 2012 at 09:42:39AM -0400, ShivaS wrote:

> Я так и думал изначально, но на бекенд в
> конце концов приходит "GET /file HTTP/1.0 
> У меня 1.0.12
> 
> А вот в логе нашел что в 1.1.12 как раз и
> была решена моя проблема:
> 
> Исправление: после перенаправления
> запроса с помощью директивы
>        try_files директива proxy_pass без URI могла
> использовать URI
>        исходного запроса.
>        Спасибо Lanshun Zhou.
> 
> Но на 1.2.0 я не апгрейдился еще...придется
> видимо...

Нет, это исправление про

    location / {
        try_files $uri /fallback.php;
    }

    location = /fallback.php {
        proxy_pass http://backend;
    }

До 1.1.12 на бекенд в случае перехода на /fallback.php отправлялся 
uri исходного запроса, что очевидно неверно.

В силу текущей реализации try_files возможно сработает что-нибудь 
вроде (note: "/" в конце proxy_pass важен)

    location / {
        try_files $uri.php =404;
        proxy_pass http://backend/;
    }

Но я бы не рекомендовал, ибо данное поведение try_files, скажем 
так, очень сомнительно с логической точки зрения и скорее всего 
изменится.

Maxim Dounin



Подробная информация о списке рассылки nginx-ru