ПРОЕКТЫ 


  АРХИВ 


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



2009/7/23 Alex, the Marrch Ca'at <marrch.caat@xxxxxxxxx>:
> Понимаете ли, я-то знаю, что конкретно в моем случае это одно и то же.
> И доменов у меня ОЧЕНЬ много, поэтому просто фиксированный рерайт мне
> не годится и не является оптимальным решением конкретно в моей
> ситуации.
>

Не вижу связи между количеством доменов и пригодностью рерайта.

Скрипт генерит конфиг вида:

server { server_name www.some; rewrite ^ http://some$request_uri permanent; }
server {
  server_name some;
... нормальный конфиг
}

и пусть таких пар будет сотни, тысячи. У нас тоже дофига доменов,
конфиги генерятся по данным из базы. Редиректы работают отлично.
Поисковики счастливы -> юзеры счастливы -> мы счастливы. Все счастливы.

Стопицот директив server работают быстрее чем одна server_name с регекспом.
Юзеры счастливы -> мы счастливы. Все счастливы.

P.S.: честно говоря, я устал заморачиваться на скорости матчинга имени
сервера. Но правда в том, что 301 нужен для поисковиков.
Хотя есть еще маленькие радости в редиректе.
Пришел один юзер на www, редиректа не было. Побродил и какую-то
страницу сохранил на публичный сервис закладок.
Пришёл другой без www, редиректа не было. Побродил и какую-то страницу
сохранил на публичный сервис закладок.
В итоге, на сервисе закладок две разные ссылки, у них разные рейтинги,
блаблабла. А виноваты: программист закладок, который не сделал
проверки дубликата www. и админ, который не сделал редирект.

> 2009/7/23 Alexey V. Karagodov <kav@xxxxxxxxxxxxxx>:
>> очевидно, что Вы пытаетесь решить проблему не с той стороны
>> не всегда сайты www.xxx.com и xxx.com одно и тоже
>> проще сделать рерайт с xxx.com на www.xxx.com или наоборот
>> и правильнее
>>
>> On 23.07.2009, at 18:21, 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 - я не знаю, подскажите, пожалуйста.
>>>
>>> Вообще, на сайте Игоря Сысоева я не нашел никаких описаний вот таких
>>> вот базовых вещей. Собственно, даже само существование операторов if и
>>> set становится ясно только из примеров конфига, а на всякие более
>>> сложные вещи - например, то, что можно писать вещи вроде if (!-e
>>> $request_filename) - легко можно так и не наткнуться. Не знает ли
>>> кто-нибудь, вдруг уже кто-то написал справку по таким вот базовым
>>> моментам в конфигурации nginx? Или может, она есть на оф.сайте, просто
>>> я ее не нашел?..
>>>
>>> С уважением и надеждой на помощь -
>>> Alex, the Marrch Ca'at
>>
>>
>


 




Copyright © Lexa Software, 1996-2009.