Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Организация постоя нных редиректов с domain на www.domain
Hello!
On Mon, Sep 15, 2008 at 12:46:59PM +0400, Igor Sysoev wrote:
On Mon, Sep 15, 2008 at 11:26:00AM +0300, Alex Vorona wrote:
15.09.2008 10:57, Igor Sysoev wrote:
>On Mon, Sep 15, 2008 at 11:50:53AM +0400, Igor Sysoev wrote:
>
>>On Mon, Sep 15, 2008 at 08:04:17AM +0400, Владислав Комиссаров wrote:
>>
>>>Так исторически сложилось, что домены сайтов называют с префиксом www
>>>или без.
>>>
>>>Вопрос в том, как сделать редирект для всех доменов на хостинге?
>>>
>>>В первую очередь нужно сказать, что редирект должен быть постоянным, т.е.
>>>отдавать код ответа 301 Moved Permanently для того, чтобы браузеры
>>>не запоминали url, с которого был произведен редирект.
>>>
>>>Сейчас используется такая схема:
>>>
>>>server {
>>>server_name example.com;
>>>rewrite ^(.*)$ www.example.com$1 permanent;
>>>}
>>>
>>>Получается, что у меня должно быть 2 конфиги для example.com и для
>>>www.example.com... А если доменов 500 штук?
>>>
>>>Хотелось-бы универсального правила для всех доменов. Идеи есть?
>>Отрицательное регулярное выражение:
>>
>> server {
>> server_name ^(?!www\.);
>
>- server_name ^(?!www\.);
>+ server_name ~^(?!www\.);
>
>> rewrite ^ http://www.$host$request_uri permanent;
- rewrite ^ http://www.$host$request_uri permanent;
+ rewrite ^ http://www.$host$request_uri? permanent;
а тут не нужно добавлять $is_args$args ?
Нет, $request_uri - это оригинальня строка запроса клиента со всеми аргументами.
Угу, именно поэтому.
Maxim Dounin
|