Блог

301 Редирект с index.php в Bitrix

14 июня

Опубликовал: Бульбик | Комментарии: | Дата: 14 июня 2014

Здравствуйте, дорогие читатели!

Сегодня я расскажу как безболезненно сделать редирект с index.php в bitrix. Всем, кто сталкивался с этой системой, известно, что без бубна и дневника с молитвами с этим движком каши не сваришь. В работе попадается много клиентов на Битриксе – уж очень тяжело поддаётся система seo-оптимизации. На динамических страницах без бубна не сделать вывод уникальных мета-тегов, с редиректами тоже напряжно.. Но всё решаемо.

Мучаюсь сейчас с одним проектом. Возможность редактирования и вывод мета-тегов сейчас на плечах отдела разработки, ну а редиректы решил сам сделать. Склеить зеркала, как и везде, проще простого, а вот c index.php пришлось попотеть.

Делаем редирект с index.php в htaccess Bitrix.

В сети толком ничего нет, но набрёл я на заметку некого Шаромова Дениса – разработчика на Битрикс. Он описал верный способ решения данной проблемы. За что ему огромнейшее спасибо.

Итак, вот те самые заветные строки в htaccess для редиректа с index.php на корень, т.е. слеш:

RewriteCond %{REQUEST_URI} ^(.*)/$

RewriteRule .* — [L]

RewriteCond %{ENV:REDIRECT_STATUS} 200

RewriteRule .* — [L]

RewriteCond %{REQUEST_METHOD} =GET

RewriteCond %{REQUEST_URI} ^(.*)/index.php$

RewriteRule ^(.*)$ %1/ [R=301,L]

Работу данных строк для редиректа Денис описал так:

  • прервать обработку, если обращение идёт к папке (URI заканчивается на «/»);
  • прервать обработку если уже был сделан внутренний редирект (без этого условия уходит в бесконечный цикл, почему, не знаю);
  • если метод запроса GET (мы не хотим, чтобы потерялись данные формы, пришедшие через POST) и URI заканчивается на /index.php — сделать редирект на тот же URI, но без «index.php»;

Ещё раз ему спасибо!

Надеюсь, вам была полезна о данном способе редиректа с index.php в системе Битрикс.

З.ы. Был бы у него сайт, обязательно поставил бы ссылку на первоисточник, но т.к. это было на сайте сообщества Битрикса, ссылку не дам:)

Комментарии
Для писем — pstyleby@gmail.com, поговорить по скайпу — p-style.by или по телефону — +375(29) 694-72-79