ПРОЕКТЫ 


  АРХИВ 


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 Sat, Jul 28, 2007 at 03:52:50PM +0400, Alexey Rymonin wrote:

> Hello Alexey,
> 
> Saturday, July 28, 2007, 3:42:31 PM, you wrote:
> 
> AR> Hello nginx-ru,
> 
> AR> Это из документации:
> AR> Первое имя становится основным именем сервера. По умолчанию
> AR> используется имя машины (hostname).
> AR> В именах серверов можно использовать "*" для замены первой или последней 
> части имени:
> 
> AR> А есть ли какой либо способ эффективно отдавать перманент редирект в
> AR> случаи, если запрос пришел не по основному имени сервера... например
> AR>      server {
> AR>          server_name   example.com  *.example.com  www.example.*;
> AR>      }
> 
> AR>      пришел запрос на http://www.example.com/pupkin.htm?id=123
> AR>      получаем 301 редирект на http://example.com/pupkin.htm
>       пришел запрос на http://www.example.com/pupkin.htm?id=123
>       получаем 301 редирект на http://example.com/pupkin.htm?id=123
>       только так ясное дело :-)
> 
> AR> Не охото обходится регулярными выражениями, потому что очень толстые
> AR> получаются, поскольку например для домена хочется основные домены так
> AR> распределять например
> AR> server_name   www.example.com example.com
> AR> server_name   www.example.spb.ru example.spb.ru
> AR> server_name   pupkin.example.ru www.pupkin.example.ru

map $http_server $redirect {
      www.example.com        example.com;
      www.example.spb.ru     example.spb.ru;
      www.pupkin.example.ru  pupkin.example.ru;
}


server {
     server_name   www.example.com
                   www.example.spb.ru
                   www.pupkin.example.ru
                   ;

     rewrite   ^(.+)$   http://$redirect$1  permanent;
}


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



 




Copyright © Lexa Software, 1996-2009.