эффективный редирект к основному имени домена

Igor Sysoev is at rambler-co.ru
Sat Jul 28 16:17:49 MSD 2007


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





More information about the nginx-ru mailing list