ПРОЕКТЫ 


  АРХИВ 


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


  • To: nginx-ru@xxxxxxxxx
  • Subject: Re: Несколько alias
  • From: "softshape" <nginx-forum@xxxxxxxx>
  • Date: Thu, 17 Jan 2013 04:33:34 -0500
  • Dkim-signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tigger.jlkhosting.com; s=x; h=Date:Sender:From:References:In-Reply-To:Message-ID:Content-Transfer-Encoding:Content-Type:Subject:To; bh=IsdjzGogosIywHldwPRj+9M33JGLJqzARSdx+mqLuFk=; b=lIQaxSbXIZID2ZNZODTcXqwOLl4EHunexuXStwiuDm2ZWfG3lr8kSkgbIb+ZBT7YehNk4NnBIGd5m05vYxqCjTpuBtIJeYsHifv22hB4f1GnADROv7ZWv0DoIXvEkhf7;
  • In-reply-to: <1921680358.20130117104550@mtu-net.ru>
  • References: <1921680358.20130117104550@mtu-net.ru>

Ну что ж, поставим нормально :)

Есть тестовый сервер, на котором лежат два проекта. У них общий код и много
общей статики. Общая для проектов статика лежит, например, в папке
/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 (я его тут привел
закомментированный).

Подозреваю, что мы не умеем готовить 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


 




Copyright © Lexa Software, 1996-2009.