ПРОЕКТЫ 


  АРХИВ 


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 04:14:07PM +0400, Igor Sysoev wrote:

> 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 {

- map $http_server $redirect {
+ map $http_host   $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
> 

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



 




Copyright © Lexa Software, 1996-2009.