Выполняем редирект с домена без www
server { listen [[IP]]:80; server_name [[DOMAIN]]; return 301 $scheme://www.[[DOMAIN]]$request_uri; }
на домен с www
server { listen [[IP]]:80; server_name www.[[DOMAIN]]; root /home/[[DOMAIN]]/httpdocs; }
Если у вас на сайте есть SSL сертификат для домена, то вы можете настроить https протокол. После чего для 301-го редиректа вам необходимо добавить следующий код в файл конфигурации nginx для домена:
server { #... if ($scheme = http) { return 301 https://$server_name$request_uri; } }
или
server { #... listen server_ip:80; server_name www.devreadwrite.com; rewrite ^ https://www.devreadwrite.com$request_uri? permanent; }
Обратный пример конфигурации для редиректа с http на https:
server { listen 443; server_name www.devreadwrite.com; rewrite ^ http://www.devreadwrite.com$request_uri? permanent; }
server { listen 80; server_name www.devreadwrite.com; #... }
Пример 301-го редиректа на основное зеркало без www:
server { #... if ($host ~* www\.(.*)) { set $host_without_www $1; rewrite ^(.*)$ http://$host_without_www$1 permanent; } }
или
server { #... server_name www.devreadwrite.com; rewrite ^/(.*)$ http://devreadwrite.com/$1 permanent; }
Обратный пример 301-го редиректа на основное зеркало сайта с www:
server { #... server_name devreadwrite.com; rewrite ^/(.*)$ http://www.devreadvrite.com/$1 permanent; }
server { listen 80; server_name www.devreadvrite.com; #... }
Если у страницы поменялся URL, то лучше сделать 301 редирект на новый URL:
server { #... if ( $request_filename ~ oldpage/ ) { rewrite ^ http://www.devreadvrite.com/newpage/? permanent; } #... }
Аналогичный пример 301-го редиректа для папки:
server { #... if ( $request_filename ~ oldfolder/.+ ) { rewrite ^(.*) http://www.devreadvrite.com/newfolder/$1 permanent; } #... }
Если вы сменили домен сайт и хотите перенести вес старого домена на новый, то можно сделать 301-й редирект со старого домена на новый:
server { server_name domain.com www.devreadvrite.com; rewrite ^ $scheme://www.new-devreadvrite.com; }
Если вы планируете изменить свой домен или изменить название предприятия, то перенаправление домена является единственным лучшим решением для сохранения пользователей и перевода их запросов на новый домен.
server { server_name devreadvrite.com www.devreadvrite.com; rewrite ^ $scheme://www.new-devreadvrite.com$request_uri permanent; }
Часто бывает так что одна и та же страница доступна по двум URL, например /may-best-page и /my-best-page/, если человеку понятно что это одна и та же страница, то поисковые системы понимают это как две разные страницы, соответственно разбивают вес страницы, а также показываются в аналитике (статистике) как 2 разные страницы. Для того, что бы избежать этого вы можете сделать 301 редирект со страниц со слешем в конце URL на без него:
server { #... rewrite ^/(.*)/$ /$1 permanent; #... }