Главная » Блог » 301-редирект в файле .htaccess. Примеры настроек.

301-редирект в файле .htaccess. Примеры настроек.

Код состояния HTTP 301 или Moved Permanently («Перемещено навсегда») — стандартный код ответа сервера, который может быть получен, если запрошенный URL-адрес сайта был навсегда перенесен в новое месторасположение.

 

#301 для всех доменов, кроме основного
RewriteCond %{HTTP_HOST} !^site\.ru
RewriteRule ^(.*)$ https://site.ru/$1 [R=301,L]

#с www на без www
RewriteCond %{HTTP_HOST} ^www\.(.*)$ [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

#с без www на www
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^(.*)$ http://www.%{HTTP_HOST}/$1 [R=301,L]

#с http на https, кроме robots.txt
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

#с http на  https для sweb, кроме robots.txt
RewriteCond %{HTTP:HTTPS} !=on [NC]
RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
SetEnvIf X-Forwarded-Proto https HTTPS=on

#с http на https для nic.ru||infobox||timeweb||sprinthost , кроме robots.txt
RewriteCond %{HTTPS} off
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

#с http на https для jino , кроме robots.txt
RewriteCond %{HTTP:X-Forwarded-Protocol} !=https
RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]

#с http на https для masterhost , кроме robots.txt
RewriteCond %{HTTP:PORT} !^443$
RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R]

#с http на https для reg.ru , кроме robots.txt
RewriteCond %{ENV:HTTPS} off
RewriteCond %{REQUEST_URI} !/robots\.txt
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]