Организация постоянных редиректов с domain на www.domain

jackal me at jackal.in
Mon Sep 15 11:59:46 MSD 2008


On Monday 15 September 2008 11:33:26 jackal wrote:
> On Monday 15 September 2008 08:04:17 Владислав Комиссаров wrote:
> > Так исторически сложилось, что домены сайтов называют с префиксом www
> > или без.
> >
> > Вопрос в том, как сделать редирект для всех доменов на хостинге?
> >
> > В первую очередь нужно сказать, что редирект должен быть постоянным, т.е.
> > отдавать код ответа 301 Moved Permanently для того, чтобы браузеры
> > не запоминали url, с которого был произведен редирект.
> >
> > Сейчас используется такая схема:
> >
> > server {
> > server_name example.com;
> > rewrite ^(.*)$ www.example.com$1 permanent;
> > }
> >
> > Получается, что у меня должно быть 2 конфиги для example.com и для
> > www.example.com... А если доменов 500 штук?
> >
> > Хотелось-бы универсального правила для всех доменов. Идеи есть?
>
> Может подойдет :)
> http://jackal.in/2008/09/massovaja-sklejka-wwwdomain---domain-i-naoborot.ht
>ml

А вообще:

server {
server_name ...;
  if ($host ~ ^www\.(.+)$) {
    set $h $1;
    rewrite ^(.*)$ $h$1 permanent;
    break;
  }
  rewrite ^(.*)$ www.$host$1 permanent;
}

Но тут не будет robots.txt на неосновном зеркале.


-- 
С уважением, Евгений.


More information about the nginx-ru mailing list