ПРОЕКТЫ 


  АРХИВ 


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]

Re: Несколько alias



17 января 2013 г., 13:33 пользователь softshape <nginx-forum@xxxxxxxx> написал:
> Ну что ж, поставим нормально :)
>
> Есть тестовый сервер, на котором лежат два проекта. У них общий код и много
> общей статики. Общая для проектов статика лежит, например, в папке
> /www/statics/default, а индивидуальная статика проектов лежит в папках
> /www/statics/project1 и /www/statics/project2 соответственно.
>
> Задача следующая: при получении запроса вида
> http://test.project1.ru/css/main.css сначала проверяется наличие файла
> /www/statics/project1/css/main.css, если его там нет, то
> /www/statics/default/css/main.css, если и там нет, то уже 404.
> Аналогично для второго проекта: по запросу
> http://test.project2.ru/css/main.css сначала проверяется наличие файла
> /www/statics/project2/css/main.css, если его там нет, то
> /www/statics/default/css/main.css или 404.
>
> Сейчас соответствующая часть конфига для первого проекта выглядит вот так:
>
> location ^~ /css/ {
>     try_files /www/statics/project1$uri /www/statics/default$uri;
>     expires 1d;
>     }
>
> location = /favicon.ico {
>     #alias /www/statics/default/favicon.ico;
>     try_files /www/statics/project1$uri /www/statics/default$uri;
>     expires 30d;
>     }
>
> location / {
>     proxy_pass http://127.0.0.1:8081/;
> }
>
> Проблема в том, что на запрос http://test.project1.ru/css/main.css мы не
> получаем файл /www/statics/default/css/main.css, а получаем запрос на
> прокси: http://127.0.0.1:8081/www/statics/default/css/main.css.
> При запросе фавикона та же песня: http://test.project1.ru/favicon.ico дает
> запрос на прокси http://127.0.0.1:8081/www/statics/default/favicon.ico,
> вместо того, чтобы вернуть файл /www/statics/default/favicon.ico, который
> раньше прекрасно отдавался через alias (я его тут привел
> закомментированный).

Судя по http://nginx.org/ru/docs/http/ngx_http_core_module.html#try_files
в try_files последним аргументом должен быть либо uri либо код

И ещё, "В случае, если ни один файл не найден, то делается внутреннее
перенаправление на uri, заданный последним параметром"

>
> Подозреваю, что мы не умеем готовить try_files или где-то недопонимаем
> синтаксис.
>
> Что мы делаем не так, и как именно нужно, чтобы так?
>
> Posted at Nginx Forum: 
> http://forum.nginx.org/read.php?21,235194,235205#msg-235205
>
> _______________________________________________
> nginx-ru mailing list
> nginx-ru@xxxxxxxxx
> http://mailman.nginx.org/mailman/listinfo/nginx-ru



-- 
Regards,
Slava
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.