ПРОЕКТЫ 


  АРХИВ 


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: Нужна помощь по ба зовому синтаксису конфига nginx



Hello!

On Thu, Jul 23, 2009 at 06:21:51PM +0400, Alex, the Marrch Ca'at wrote:

> Доброго всем времени суток!
> 
> Я использую связку nginx+memcached, она обслуживает запросы,
> приходящие на большое количество разных доменов, и соответственно - в
> включе memcached используется имя домена. Но мне хочется, чтобы при
> этом от имени домена автоматически отрезалось начальное "www.", если
> оно там имеется, так, чтобы для www.mydomain.ru и mydomain.ru
> использовался один ключ memcached. Очевидно, что нужно вместо
> следующей инструкции:
> set $memcached_key "Tsites::$host::Index";
> - использовать if с регулярным выражением, который в случае наличия в
> начале $host строки "www." будет подставлять в $memcached_key весь
> остаток имени домена. Но вот как это правильно написать в синтаксисе
> конфигов nginx - я не знаю, подскажите, пожалуйста.

Как-то так:

set $x "$host";
if ($x ~ "^www\.(.*)$") {
    set $x $1;
}

set $memcached_key "Tsites::$x::Index";

> Вообще, на сайте Игоря Сысоева я не нашел никаких описаний вот таких
> вот базовых вещей. Собственно, даже само существование операторов if и
> set становится ясно только из примеров конфига, а на всякие более
> сложные вещи - например, то, что можно писать вещи вроде if (!-e
> $request_filename) - легко можно так и не наткнуться. Не знает ли
> кто-нибудь, вдруг уже кто-то написал справку по таким вот базовым
> моментам в конфигурации nginx? Или может, она есть на оф.сайте, просто
> я ее не нашел?..

http://sysoev.ru/nginx/docs/http/ngx_http_rewrite_module.html#if

Но вообще на if лучше не натыкаться без нужды, чревато боком.

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.