неработающий rewrite и работающий редирект
Sergey Averyanov
asv at pallant-mobile.ru
Wed Oct 14 12:46:05 MSD 2009
В сообщении от Wednesday 14 October 2009 12:27:19 вы написали:
Отвечу сам себе :)
Похоже, грабли стороннего модуля.
http://code.google.com/p/phusion-passenger/issues/detail?id=376
Кто-нибудь такое лечил?
> Использую 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.
>
> В чем может быть проблема?
--
С уважением,
Сергей Аверьянов
More information about the nginx-ru
mailing list