ПРОЕКТЫ 


  АРХИВ 


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]

неработающий rewrite и работающий редирект



Использую nginx/0.7.61 + modrails (aka passenger -- http://modrails.com) с 
такой конфигурацией:
    server {
        listen 80;
        server_name foo.com;
        server_name *.foo.com;
        access_log /var/log/projects/foo/nginx_access.log;

        location = /favicon.ico {
            root /srv/projects/foo/rails/public;
            access_log /var/log/projects/foo/nginx_static.log;
        }

        location ~* ^.+\.(jpg|jpeg|gif|png|ico|css|zip|tgz|gz|rar|bz2|doc|xls|
exe|pdf|ppt|txt|tar|mid|midi|wav|bmp|rtf|js|mov)$ {
            root /srv/projects/foo/rails/public;
            access_log /var/log/projects/foo/nginx_static.log;
        }

        location ~ ^/t?[0-9] {
            rewrite ^/(.*) /posts/show/$1;
        }

        location / {
                try_files      /foo/maintenance.html
                @foo;
        }
        location @foo {
            root /srv/projects/foo/rails/public;
            passenger_enabled on;
        }
    }


По моей логике запрос вида /25 должен быть обработан в location ~ ^/t?[0-9] и 
преобразован в /posts/show/25
На деле этого не происходит и на бэкэнд, судя по логам Rails, уходит запрос 
/25
Однако стоит в проблемном location заменить 
rewrite ^/(.*) /posts/show/$1;
на
rewrite ^/(.*) http://foo.com/posts/show/$1;
как все начинает работать как надо, только уже через редирект, а не rewrite.

В чем может быть проблема?


-- 
С уважением,
  Сергей Аверьянов


 




Copyright © Lexa Software, 1996-2009.