ПРОЕКТЫ 


  АРХИВ 


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: Редирект на домен



On Tue, Nov 06, 2007 at 09:05:24PM +0300, jackal wrote:

> Кстати, почему так не надо делать? На вид решение красивое...

Потому что у этого метода ни одного плюса и куча минусов.

1) при добавлениие нового имени его нужно указать в server_name
и учесть в регулярном выражении.

2) если запросы к неосновным серверам идут значительно реже, чем
к основному, то проверка условия и регулярное выражение - совершенно
бессмысленная работа при запросах к основному сайту.

3) server_name специально оптимизирован для разруливания имён,
в том числе и с помощью регулярных выражений.

Правильный метод - завести отдельный сервер с несновными именами,
в котором делать безусловный редирект.

> Tuesday, November 6, 2007, 7:16:42 PM, Вы писали:
> 
> > On Tue, Nov 06, 2007 at 05:53:09PM +0200, Gena Makhomed wrote:
> 
> >> Здравствуйте, Andrew!
> >> 
> >> Tuesday, November 6, 2007, 17:11:43, you wrote:
> >> 
> >> AV> Для сайта есть куча доменов. Один из них основной.
> >> AV> Как сделать что-бы любые обращения на не основной домен
> >> AV> редиректились на такой-же урл основного?
> >> 
> >> #
> >> # example.com
> >> #
> >> 
> >> server {
> >> 
> >>         listen  33.33.33.33:80;
> >>         listen  77.77.77.77:80;
> >> 
> >>         access_log      /var/log/nginx/example.com-access.log;
> >>         error_log       /var/log/nginx/example.com-error.log info;
> >> 
> >>         client_max_body_size 4m;
> >> 
> >>         server_name     example.com;
> >>         server_name     w.example.com;
> >>         server_name     ww.example.com;
> >>         server_name     www.example.com;
> >>         server_name     wwww.example.com;
> >>         server_name     wwwww.example.com;
> >>         server_name     wwwwww.example.com;
> >>         server_name     wwwwwww.example.com;
> >> 
> >>         if ( $http_host ~* ^w+\. ) { rewrite ^(.*)$
> >> http://example.com$1 permanent; }
> 
> > ТАК ДЕЛАТЬ НЕ НАДО!
> > НЕ НАДО ТАК ДЕЛАТЬ!
> 
> 
> -- 
> С уважением,
>  Евгений                            mailto:me@xxxxxxxxx
> 
> 
> 

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



 




Copyright © Lexa Software, 1996-2009.