<div dir="ltr">Игорь, благодарю. Как всегда по теме и все работает.<br><br><div class="gmail_quote">15 сентября 2008 г. 11:57 пользователь Igor Sysoev <span dir="ltr">&lt;<a href="mailto:is@rambler-co.ru">is@rambler-co.ru</a>&gt;</span> написал:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">On Mon, Sep 15, 2008 at 11:50:53AM +0400, Igor Sysoev wrote:<br>
<br>
&gt; On Mon, Sep 15, 2008 at 08:04:17AM +0400, Владислав Комиссаров wrote:<br>
&gt;<br>
&gt; &gt; Так исторически сложилось, что домены сайтов называют с префиксом www<br>
&gt; &gt; или без.<br>
&gt; &gt;<br>
&gt; &gt; Вопрос в том, как сделать редирект для всех доменов на хостинге?<br>
&gt; &gt;<br>
&gt; &gt; В первую очередь нужно сказать, что редирект должен быть постоянным, т.е.<br>
&gt; &gt; отдавать код ответа 301 Moved Permanently для того, чтобы браузеры<br>
&gt; &gt; не запоминали url, с которого был произведен редирект.<br>
&gt; &gt;<br>
&gt; &gt; Сейчас используется такая схема:<br>
&gt; &gt;<br>
&gt; &gt; server {<br>
&gt; &gt; server_name <a href="http://example.com" target="_blank">example.com</a>;<br>
&gt; &gt; rewrite ^(.*)$ <a href="http://www.example.com" target="_blank">www.example.com</a>$1 permanent;<br>
&gt; &gt; }<br>
&gt; &gt;<br>
&gt; &gt; Получается, что у меня должно быть 2 конфиги для <a href="http://example.com" target="_blank">example.com</a> и для<br>
&gt; &gt; www.example.com... А если доменов 500 штук?<br>
&gt; &gt;<br>
&gt; &gt; Хотелось-бы универсального правила для всех доменов. Идеи есть?<br>
&gt;<br>
&gt; Отрицательное регулярное выражение:<br>
&gt;<br>
&gt; &nbsp; server {<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;server_name &nbsp;^(?!www\.);<br>
<br>
</div>- &nbsp; &nbsp; &nbsp; &nbsp;server_name &nbsp;^(?!www\.);<br>
+ &nbsp; &nbsp; &nbsp; &nbsp;server_name &nbsp;~^(?!www\.);<br>
<div><div></div><div class="Wj3C7c"><br>
&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;rewrite &nbsp; ^ &nbsp; <a href="http://www." target="_blank">http://www.</a>$host$request_uri permanent;<br>
&gt; &nbsp; }<br>
&gt;<br>
&gt; При этом явно описанные сайты без www сюда уже не попадут - regex&#39;ы<br>
&gt; в server_name используются как last resort.<br>
<br>
<br>
--<br>
Игорь Сысоев<br>
<a href="http://sysoev.ru" target="_blank">http://sysoev.ru</a><br>
<br>
</div></div></blockquote></div><br></div>