location, backend, rewrites

Sergej Kandyla sk.paix at gmail.com
Fri Aug 15 16:44:49 MSD 2008


Igor Sysoev wrote:
>
>         proxy_set_header Host $host;
>         proxy_set_header X-Real-IP $remote_addr;
>         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
>
>         location / {
>                 root /home/vhosts/domain/public_html;
>                 error_page 404 = @backend;
>                 index index.php;
>         }
>  
>         location \.php$ {
>                     proxy_pass http://IP;
>         }
>  
>         location @backend {
>                     proxy_pass http://IP;
>         }
>
>   
Супер! Спасибо большое!
Не знал что переменные наследуются, если обьявлены выше локейшенов.

Все работает, только у меня возникала ошибка,

2008/08/15 14:43:40 [error] 49048#0: *82619 
"/home/vhosts/domain/public_html/category/unix/index.php" is not found 
(2: No such file or directory),

где, category/unix - динамически сформированный путь (apache rewrites)

Сделал такую конструкцию, теперь в лог не срется сообщения о таких ошибках.

     location / {
                root /home/vhosts/hire7.net/public_html;
                index index.php;

                if (!-e $request_filename) {
                             proxy_pass http://217.12.195.91;
                }

                error_page 404 = @backend;
        }


По идее конструкция if не должна вызывать слишком большой оверхеад...
В рассылке говорят, что если можно их (if) не использовать, то лучше не 
использовать.... но насколько избыточны такие конструкции неясно...

Да, еще небольшой ньюанс был:

-        location \.php$ {
+       location ~* \.php$ {


to pavel at pronskiy.ru: спасибо за развернутый ответ!


-- 
Best Wishes,
PAIX-UANIC | SK3929-RIPE






More information about the nginx-ru mailing list