Как сделать 301 редирект в битриксе
Перейти к содержимому

Как сделать 301 редирект в битриксе

  • автор:

301 редирект в битрикс с www на без www

Для того чтобы при переходе на www.site.ru срабатывало перенаправление на site.ru, нужно прописать правило в файл .htaccess в корне сайта.
Будем использовать следующую конструкцию:

 Options +FollowSymLinks RewriteEngine On RewriteCond % ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L] 

UPD 16.10.15:
Некоторые хостинги принимают меры безопасности и конструкции вида:

Options All +FollowSymlinks

(включая отдельное указание одной из указанных опций)
в файлах .htaccess будут приводить к ошибкам с кодом ответа 500
Например хостинг ipipe.ru

Замените домен на свой в этих строках:

RewriteCond % ^www.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]

Чтобы редирект срабатывал корректно с ЧПУ нужно размещать приведенные две строки непосредственно после

Options +FollowSymLinks RewriteEngine On

Домен без www всё чаще используют, как главное зеркало, т.к. он короче и его проще запомнить вашей аудитории.
Редиректом вы однозначно установите главное зеркало сайта. Также не забывайте установить настройки в гугл и яндекс вебмастерах по главному зеркалу сайта.

Если же вам нужно визуальное управление редиректами, рекомендую установить модуль Редирект Мастер.
В нем можно удобно создать редиректы через админку, загрузить их из Excel, сгенерировать редиректы при изменения ЧПУ или настроить их автоматическое создание.
Модуль доступен в Маркетплейс 1С-Битрикс.

Битрикс – как сделать редирект 301

Разбираем альтернативный способ перенаправления на другую страницу, с указанием статуса.

LocalRedirect со статусом 301 в Битриксе

LocalRedirect – очень старая функция, она существует еще с 3 версии Битрикса . Давайте разберем, как она записывается, и что при её помощи можно делать.

LocalRedirect($arResult["sUrlPath"], false, "301 Moved permanently");

$arResult[“sUrlPath”] – первый параметр, переменная – собственно сам URL, на который мы будем переходить, или, другими словами, делать редирект.

false – Необязательный. Значение true позволяет пропустить проверку модуля безопасности на фишинг.

“301 Moved permanently” – Необязательный. Заголовок ответа HTTP, он же код (статус).

Редирект можно, а в некоторых случаях даже нужно, делать через файл .htaccess, который лежит в корне сайта, но сегодня не об этом.

Вы спросите, а в чем же тогда смысл этой статьи? А смысл друзья в том, что стандартно у нас 3-ий параметр передается как $status=”302 Found”, что очень может испортить всю картину при оптимизации сайта, не говоря уже про “сеошников” (специалистам, которые занимаются SEO).

Яркий пример, компонент постраничной навигации. В очень многих случаях system.pagenavigation – делает редирект с первой страницы в основной раздел именно с этим статусом.

Где еще может пригодится данная функция? Когда htaccess бессилен написать сложную логику переходов, её можно написать при помощи LocalRedirect, правильно передав статус, используя PHP и API 1С-Битрикс.

Как настроить редирект на «Битрикс»?

Первый пункт в чек-листе оптимизатора. Аспирин от проседания сайта в показателях индексации и выдачи. Незаменимое средство при миграции с хостинга на хостинг, с домена на домен. Какие способы настройки редиректа надо иметь под рукой?

1. Три способа 301-редиректа c «www» на без «www» с помощью файла .htaccess

2. Два способа 301-редиректа на домен с «www» с помощью файла .htaccess

3. Как настроить переадресацию через Nginx?

Используйте код вида

4. Как настроить автоматическое добавление / в конце запроса с помощью Nginx?

Найдите файл /etc/nginx/bx/site_avaliable/s1.conf

После этого перезапустите сервер командами

и если все нормально

service nginx restart

5. Как согласовать редирект с ЧПУ?

Это важно! Редирект будет корректно работать только если его команды расположены в файле .htaccess над (перед) командами перенаправления запросов на urlrewrite. Например:

Options +FollowSymLinks
RewriteEngine On

Форум

Расскажите пожалуйста как сделать 301 редирект. Что где прописать? Я знаю что необходимо в .htaccess поставить со старых страниц перенаправление на новые. Но это лишь общие слова. а как это записывать?
я никогда редиректа еще не делала, не хочиться ошибиться, подскажите плиз код который надо прописать.
И можно ли хотябы «пачками» ставить, например 10 старых страниц с динамическим урлом на одну новую? не вредно ли это?

Сообщений: 1323 Баллов: 296 Регистрация: 08.08.2006
06.08.2010 12:34:31
Заглянувший
Сообщений: 5 Регистрация: 18.07.2010
06.08.2010 12:46:48

хо, спасибо, а то я конечно не догадалась в поисковике поискать)
мда. по сути, на Все вопросы на форуме можно так отвечать!

Уточняю вопрос, именно в БИТРИКС. Насколько я понимаю, можно через админку.
Правильно ли я понимаю, что можно в разделе «обработки адресов» настроить?
без того чтобы конфиг править?
или ТОЛЬКО через .htaccess?
к томуже, если хоть чуток ошибусь в коде у меня ведь сайт полетит. сегодня итак его чуть не убила.

Сообщений: 1323 Баллов: 296 Регистрация: 08.08.2006
06.08.2010 13:36:04

В разделе «Обработка адресов» настраиваются правила для ЧПУ.
Вам нужен именно .htaccess.

Править можно через админку, либо любым другим удобным способом (ftp,ssh). Даже если сайт «полетит», по ftp можно все вернуть на место.

Сообщений: 1063 Баллов: 175 Регистрация: 18.12.2009
06.08.2010 15:57:35

Если старые страницы существуют, можно в их начале после хедера написать LocalRedirect(‘новый адрес’); (в режиме php)

Компонент (и.с.) — существительное мужского рода (ГОСТ 34.003-90).

Заглянувший
Сообщений: 20 Баллов: 1 Регистрация: 09.03.2010
06.08.2010 16:32:54


прописал эту конструкцию в редакторе php и у меня вообще белый лист теперь показывает(((
Что я не так сделал?

SetTitle("Title"); ?> текст старой страницы. 

Как то так получилось((((
Сообщений: 4830 Баллов: 956 Регистрация: 24.11.2005
06.08.2010 23:59:34

С двумя закрывающими скобками? PHP такое не поймёт.

Кстати, раз уж зашла речь о LocalRedirect(). Этой функции можно передать статус респонса:
function LocalRedirect($url, $skip_security_check=false, $status=»302 Found»)
Функция описана в /bitrix/modules/main/tools.php

«Да не могут же они!»
Постоянный посетитель
Сообщений: 283 Баллов: 32 Регистрация: 28.07.2009
08.08.2010 21:40:15

SetTitle("Title"); ?> текст старой страницы. 

Заглянувший
Сообщений: 5 Регистрация: 18.07.2010
09.08.2010 09:19:51

Max Pryazhevsky, к сожалению по ftp не вернуть.
если через «Обработку адресов», то это и на старом сайте должны быть ЧПУ?
или на старом могут быть динамические урлы, а на новом должны ЧПУ?

Заглянувший
Сообщений: 20 Баллов: 1 Регистрация: 09.03.2010
09.08.2010 09:29:26
Александр Смолярчук
Не получается(((
Страницы: 1 2 3 4 След.

Центр поддержки

Продукты

Управление сайтом
Битрикс24
Интернет-магазин + CRM

Решения

Для интернет-магазинов
Каталог готовых решений

Внедрение

Выбрать партнера
Проверить партнера
Стать партнером

1С-Битрикс http://www.1c-bitrix.ru Общие вопросы info@1c-bitrix.ru Приобретение и лицензирование продуктов : sales@1c-bitrix.ru Маркетинг/мероприятия/PR marketing@1c-bitrix.ru Партнерская программа partners@1c-bitrix.ru Мы работаем с 10:00 до 19:00 по московскому времени. Офис в Москве 127287 Россия Московская область Москва 2-я Хуторская улица дом 38А строение 9 Офис в Калининграде +7 (4012) 51-05-64 Офис в Калининграде 236001 Россия Калининградская область Калининград Московский проспект 261 Офис в Киеве ukraine@1c-bitrix.ru Телефон в Киеве +3 (8044)221-55-33 Офис в Киеве 01033 Украина Калининградская область Киев улица Шота Руставели 39/41 офис 1507

Контент для лиц от 16 лет и старше

© 2001-2023 «Битрикс», «1С-Битрикс». Работает на 1С-Битрикс: Управление сайтом. Политика конфиденциальности

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *