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.
В чем может быть проблема?
--
С уважением,
Сергей Аверьянов
|