nginx - redirect 301
Станислав
server_inc на list.ru
Сб Мар 31 19:20:24 UTC 2012
06.03.2012 14:17, Stepanov Vitaliy написал:
> Спасибо всем кто ответил.
>
> Валентин Бартенев данный вариант,
> который вы предложили:
> server {
> listen 80;
> server_name www.freebsd.ru;
>
> return 301 http://freebsd.ru$request_uri;
> }
>
> Выдает ошибку в браузере, версия nginx -
> nginx/0.8.54:
> На этой странице имеется бесконечная
> переадресация
>
> Да, действительно англоязычная версия
> мануала nginx более расширенная
> оказалась.
>
> В результате взял вот такой код, он
> работает:
> server {
> listen 80;
> server_name www.freebsd.ru freebsd.ru;
> if ($http_host = freebsd.ru) {
> rewrite (.*) http://www.freebsd.ru$1 permanent;
> }
> ...
> }
>
Валентин Бартенев предложил самый правильный вариант, и он работает!
В этом треде несколько раз писали о том, что не стоит использовать
конструкцию if(), а вы "наша песня хороша, начиная сначала".
Не понимаю, как люди до сеих пор умудряются лепить if() где попало. Это
же обсуждалось уже несколько раз, да и сами разработчики говорили, что
не стоит использовать эту конструкцию. Нет, все же попадаются люди с
кривыми руками, которые лепят бред что-то вроде:
server_name www.site.ru site.ru tools.site.ru ... ;
if ($host != 'www.site.ru' ) { rewrite ^(.*)$ http://www.site.ru$1
permanent; }
...игнорируя советы самих разработчиков. Немыслимо глупо.
Подробная информация о списке рассылки nginx-ru