hosting:htaccess:redirects

2.12.3. Редиректы

В настройках сайта присутствует возможность настройки редиректа на HTTP/HTTPS и на адрес с www или без www. В случае их использования, настраивать аналогичный редирект через .htaccess не нужно.
Директивы редиректа настроенные при помощи .htaccess не будут работать для файлов которые указаны в списке статических файлов

Директивы редиректа нужно размещать в файле .htaccess, расположенном в корневом каталоге сайта с которого должен выполняться редирект.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^(www.)?сайт1.com [NC]
RewriteRule ^(.*) http://www.сайт2.com/$1 [L,R=301]

Вместо сайт1.com подставьте адрес сайта, с которого должен выполняться редирект, а вместо http://www.сайт2.com — на который.

В качестве альтернативного варианта можно использовать веб-редирект.

Для редиректа с www.сайт.com на сайт.com:

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.сайт.com$ [NC]
RewriteRule ^(.*)$ http://сайт.com/$1 [R=301,L]

Вместо сайт.com подставьте адрес своего сайта, для которого настраивается редирект.

Для редиректа с сайт.com на www.сайт.com:

RewriteEngine On 
RewriteBase / 
RewriteCond %{HTTP_HOST} ^сайт.com [NC] 
RewriteRule ^(.*) http://www.сайт.com/$1 [L,R=301]

Вместо сайт.com подставьте адрес своего сайта, для которого настраивается редирект.

Предварительно обязательно включите обработку запросов к несуществующим поддоменам.

RewriteEngine On 
RewriteBase / 
RewriteCond %{HTTP_HOST} ^(.*).сайт.com [NC] 
RewriteRule ^(.*)$ http://сайт.com/$1 [L,R=permanent]

Вместо сайт.com подставьте адрес своего сайта, для которого настраивается редирект.

RewriteEngine On 
RewriteBase / 
RewriteRule ^(.*)$ http://сайт.com/desired_page/ [L,R=permanent]

Вместо http://сайт.com/desired_page/ подставьте адрес страницы другого сайта, на которую должен выполняться редирект

RewriteCond %{REQUEST_URI} ^/old/address/$
RewriteRule ^.*$ http://%{HTTP_HOST}/new/address/ [R=301,L]

Вместо /old/address/ подставьте адрес страницы, с которой должен выполняться редирект, а вместо /new/address/ — на которую.

RewriteCond %{REQUEST_URI} ^/old/address/$
RewriteRule ^.*$ http://сайт.com/new/address/? [R=301,L]

Вместо сайт.com подставьте адрес нового сайта, на который должен выполняться редирект. Вместо /old/address/ укажите страницу, с которой нужно выполнять редирект, а вместо /new/address/на которую.

RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^(.*) https://сайт.com/$1 [L,R=301]

Вместо сайт.com подставьте адрес своего сайта, для которого настраивается редирект.

RewriteEngine On 
RewriteBase / 
RewriteCond %{HTTP:SSL} =1 [NC] 
RewriteRule ^(.*)$ http://%{HTTP_HOST}/$1 [R=301,L]
RewriteEngine On
RewriteBase /
RewriteCond %{HTTP:SSL} !=1 [NC]
RewriteRule ^admin(.*)$ https://%{SERVER_NAME}/admin$1 [L,R]

Вместо admin подставьте название каталога, для которого настраивается редирект.

  • hosting/htaccess/redirects.txt
  • Последние изменения: 2019/09/04 10:04
  • — karlov