1С Битрикс Блог

Как сделать 301 редирект на без www и с слешем на конце адреса страницы на сайте с 1С Битрикс?
1С Битрикс Блог
08.11.2016

Как сделать 301 редирект на без www и с слешем на конце адреса страницы на сайте с 1С Битрикс?

Сама переадресация делается так же, как и на других сайтах, которые работают на сервере под управлением Apache 2. Но в 1С Битрикс есть небольшой нюанс. В этой системе используется свой обработчик адресов urlrewrite.php, который подключается в файле .htaccess. Поэтому код переадресации необходимо вставлять перед подключением urlrewrite.php.

Готовый код переадресации я взял отсюда:

RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1/ [L,R=301]
 
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} ![^\/]$
RewriteCond %{HTTP_HOST} ^www\.(.*)$
RewriteRule ^(.*)$ http://%1/$1 [L,R=301]
 
RewriteCond %{REQUEST_URI} !\?
RewriteCond %{REQUEST_URI} !\&
RewriteCond %{REQUEST_URI} !\=
RewriteCond %{REQUEST_URI} !\.
RewriteCond %{REQUEST_URI} !\/$
RewriteCond %{HTTP_HOST} ^([^www].*)$
RewriteRule ^(.*)$ http://%1/$1/ [L,R=301]

Для того, чтобы сделать переадресацию на без www и с слешем на конце адреса страницы на сайте с 1С Битрикс, откройте файл .htaccess, который находится в корневой директории вашего сайта. Вставьте код переадресации в блоке mod_rewrite перед подключением urlrewrite.php.

У меня это 14 строка, после:

<IfModule mod_rewrite.c>
  Options +FollowSymLinks
  RewriteEngine On

Переадресация заработает сразу, без перезагрузки веб сервера.


Коммментарии

Возврат к списку