try_files внутри не-корневого location

Igor Sysoev is at rambler-co.ru
Thu Nov 5 10:31:22 MSK 2009


On Thu, Nov 05, 2009 at 01:17:21AM +0300, Alexey Mahotkin wrote:

> у меня есть блог под nginx 0.7.62, в одном из подлокейшенов которого
> "смонтировано" приложение на Ruby on Rails.
> 
> Конфигурация такая:
> 
> server {
> 
>   location /comparison {
>     root /u/apps/comparison/current/public;
>     try_files $uri $uri/index.html $uri.html @comparison;
>   }
> 
>   location @comparison {
>     proxy_pass http://127.0.80.3; # это проксирование на mod_rails
>   }
> 
>   location / {
>     # .. проксирование на wordpress
>   }
> }
> 
> с проксированными запросами всё ок, проблема со статическими файлами,
> находящимися в рельсовом каталоге.
> 
> Правильно ли я понимаю, что при запросе "GET
> /comparison/images/rails.png" try_files будет искать файл в
> /u/apps/comparison/current/public/comparison/images/rails.png?
> 
> Тогда как мне надо, чтобы он искал в
> /u/apps/comparison/current/public/images/rails.png (фактически,
> стрипая путь, указанный в аргументе location {})!
> 
> alias вместо root тоже не срабатывает.
>
> Правильно ли я понимаю, что 99.9% народу делают только "try_files /"? :)
> 
> Что делать?

   location /comparison {
     alias /u/apps/comparison/current/public;
     try_files $uri $uri/index.html $uri.html @comparison;
   }

должен работать. Если нет, то нужно включить дебаг, там должно быть видно.


-- 
Игорь Сысоев
http://sysoev.ru





More information about the nginx-ru mailing list