local redirect 301 bitrix
Битрикс — как сделать редирект 301
Разбираем альтернативный способ перенаправления на другую страницу, с указанием статуса.
LocalRedirect со статусом 301 в Битриксе
$arResult[«sUrlPath»] — первый параметр, переменная — собственно сам URL, на который мы будем переходить, или, другими словами, делать редирект.
false — Необязательный. Значение true позволяет пропустить проверку модуля безопасности на фишинг.
«301 Moved permanently» — Необязательный. Заголовок ответа HTTP, он же код (статус).
Редирект можно, а в некоторых случаях даже нужно, делать через файл .htaccess, который лежит в корне сайта, но сегодня не об этом.
Вы спросите, а в чем же тогда смысл этой статьи? А смысл друзья в том, что стандартно у нас 3-ий параметр передается как $status=»302 Found», что очень может испортить всю картину при оптимизации сайта, не говоря уже про «сеошников» (специалистам, которые занимаются SEO).
Яркий пример, компонент постраничной навигации. В очень многих случаях system.pagenavigation — делает редирект с первой страницы в основной раздел именно с этим статусом.
Где еще может пригодится данная функция? Когда htaccess бессилен написать сложную логику переходов, её можно написать при помощи LocalRedirect, правильно передав статус, используя PHP и API 1С-Битрикс.
автор: Dmitriy
Занимаюсь веб-разработкой с 2011 года. Посмотреть некоторые из моих работ, а также узнать чуть больше обо мне, вы можете на forwww.ru.
— Создание сайтов на 1С-Битрикс любой сложности
— Вёрстка макетов Figma, Photoshop, Zeplin
— Поддержка проектов на Битриксе
— Разработка нового функционала для сайта
— Парсинг данных
— Выгрузка из файлов в формате XML, YML, XLS, XLSX, CSV, JSON
— Интеграция по API со сторонними сервисами
и многое другое
Редирект 301
хо, спасибо, а то я конечно не догадалась в поисковике поискать)
мда. по сути, на Все вопросы на форуме можно так отвечать!
Править можно через админку, либо любым другим удобным способом (ftp,ssh). Даже если сайт «полетит», по ftp можно все вернуть на место.
прописал эту конструкцию в редакторе php и у меня вообще белый лист теперь показывает(((
Что я не так сделал?
С двумя закрывающими скобками? PHP такое не поймёт.
Проблема встает в том, что реально ни папки за номером 24, ни файла /24/index.php не существует, поэтому Apache даже если и реализует переадресацию, то убивает инфоблоки на сайте www.newurl.ru из-за того, что папка infoblok существует на страом и новом сайте.
Подскажите в какую строну копать, чтобы настроить нужный редирект.
Заранее всем спасибо.
Подскажите как сделать редирект с зеркал сайта на основной домен.
Делаю ставлю свой редирект а далее идут стандартные настройки битрикс
Цитата |
---|
Александр Буйлов пишет: Но в таком случае если набрать » http://zerkalo-site.ru/about » он почему перекидывает на » http://main-site.ru/bitrix/urlrewrite.php » так еще и говорит что страница не найдена. Как исправить? |
————————————————————-
у меня вот такой вопрос к знатокам..
как сделать 301 редирект со страницы?
не работают или я куда то не туда записываю.
делал над блоком
Подскажите, пожалуйста.
Есть один сайт и два доменных имени http://aaa.ru (основной) и http://bbb.ru (зеркало).
Поисковый робот индексирует оба имени. Необходимо «склеить» оба имени, чтобы индексация не «делилась» между ними. Подойдет ли в этом случае редирект 301?
Если да, то вот так будет правильно?
Подскажите пожалуйста! Не получается правильно настроить редирект: нужно
с http://www.sait.ru/index.php редирект на http://www.sait.ru/
с http://www/sait.ru/index.html редирект на http://www.sait.ru/
php_flag session.use_trans_sid off
#php_value display_errors 1
#php_value mbstring.internal_encoding UTF-8
DirectoryIndex index.php index.html
ExpiresActive on
ExpiresByType image/jpeg «access plus 3 day»
ExpiresByType image/gif «access plus 3 day»
ExpiresByType image/png «access plus 3 day»
ExpiresByType text/css «access plus 3 day»
ExpiresByType application/javascript «access plus 3 day»
301 редирект в Битриксе и самолезущий /?
У сайта на Битриксе решили привести в порядок каталогизацию, и дабы впредь не мандражировать и не бегать с лишними переадресациями, при тасовках по разделам, было решено усреднить все товары на «виртуальный» раздел, т.е. ссылка для любых товаров получилась вида сайт/catalog/раздел для всех/наименование товара, вместо сайт/catalog/раздел1/подраздел1/наименование товара
Но не хочется ведь терять проиндексированные страницы, поэтому была попытка настроить 301 по типу
Redirect 301 /catalog/старый раздел/ https://сайт/catalog/раздел для всех/
но вылезло 2 проблемы, 1 он начинает уводить страницу раздела на «раздел для всех», но это вроде вылечилось точной
Redirect 301 /catalog/старый раздел/. https://сайт/catalog/раздел для всех/
Хотя не могу быть уверенной что это правильно.
пока писала вроде нашла рабочий вариант // поправка, все равно кидает в цикл 🙁 и почему-то в яндекс браузере под админом редиректит без слеша, а в мозиле гостем слеш так и остается
RewriteRule ^catalog/раздел 1/раздел2/(.+)$ /catalog/раздел для всех товаров/$1 [L,R=301]
RewriteCond %
# Если файл содержит точку.
RewriteRule ^(.+)/$ /$1 [R=301,L]
# Исключить слеш.
Боюсь спугнуть, потому что 22 строки перенаправлений будет, ночером буду проверять.
Вот такой вышел. то ли вопрос, то ли ответ. Может кому пригодится, а я буду признательна за идеи
Да, спасибо огромное, я из ваших трудов и брала. да видимо или не все или не так. Сейчас попробую на другом сайте, основной функционирует в работе, его только если ночью помучить.
О, спасибо. Буду в курсе- это радует что не так страшно.
Это я готовила строки для простого перенаправления
Redirect 301 /catalog/kovrolin/. https://сайт/catalog/pf/
Redirect 301 /catalog/kovrolin/vystavochnyy_kovrolin/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/vinilovaya_plitka/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/kovrovaya_plitka/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/parket/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/stenovoy_dekor/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/probka/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/laminat/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/plintus_i_dekor/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/plintus_i_dekor/moduleo/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/plintus_i_dekor/nmc/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/plintus_i_dekor/orac_decor/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/kley_i_khimiya/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/podlozhka/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/porozhek/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/aksessuary/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/arkhiv/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/arkhiv/ellade/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/iskusstvennaya_trava/. https://сайт.ru/catalog/pf/
Redirect 301 /catalog/plintus_i_dekor/. https://сайт.ru/catalog/pf/
Все ведут в одно и то же место
php_flag display_startup_errors off
php_flag display_errors off
php_flag html_errors off
php_flag log_errors on
php_flag ignore_repeated_errors off
php_flag ignore_repeated_source off
php_flag report_memleaks on
php_flag track_errors on
php_value docref_root 0
php_value docref_ext 0
php_value error_log /home/l/lavstotd/stokpol.rf/public_html/PHP_errors.log
php_value error_reporting 2047
php_value log_errors_max_len 0
php_value max_input_vars 10000
Order allow,deny
Deny from all
Satisfy All
php_flag session.use_trans_sid off
#php_value display_errors 1
#php_value mbstring.internal_encoding UTF-8
DirectoryIndex index.php index.html
ExpiresActive on
ExpiresByType image/jpeg «access plus 3 day»
ExpiresByType image/gif «access plus 3 day»
ExpiresByType image/png «access plus 3 day»
ExpiresByType text/css «access plus 3 day»
ExpiresByType application/javascript «access plus 3 day»
301 редирект в Bitrix
С битриксом раньше не работал, так шо прошу прощения за глупые вопросы
обваливает сайт в ошибку 500
и после него и вобще где бы то ни было
пробовал дописать правило в urlrewrite
Вот такое правило должно работать
RewriteCond %
RewriteCond %
RewriteRule (.*) /pressroom/news/ [R=301,L]
Цитата |
---|
Дмитрий Яковенко пишет: Если вы пишите редиректы в htaccess, то к битриксу это отношения не имеет |
Вот такое правило должно работать Ну и чего? ТС будет забивать свои 150 ссылок в htaccess? Реврайт не быстрый модуль кстати. Да уж побыстрее реврайта на пхп В вашем примере htaccess будет быстрее, так как при правильной конфигурации запрос на статические файлы css, js, картинки и прочие обработает nginx и до апача очередь не дойдет, т.е. правила реврайта не проверятся. А в случае когда дело дойдет до апача, то у вас уже будет файл, по правилам которого нужно редиректить. В случае с редиректом пхп, нужно пройти весь путь, который описан выше, потом подключить пхп, потом ядро битрикса (а это множество инклудов), к базе законнектится, потом сделать запросики к базе (если мы про OLD_ID) и только потом выдать заголовок редиректа. Для того чтобы понять какой вариант лучше, то нужно сначала четко понимать задачу! С битриксом раньше не работал, так шо прошу прощения за глупые вопросы обваливает сайт в ошибку 500 и после него и вобще где бы то ни было пробовал дописать правило в urlrewrite Вот такое правило должно работать Вот такое правило должно работать Ну и чего? ТС будет забивать свои 150 ссылок в htaccess? Реврайт не быстрый модуль кстати. Да уж побыстрее реврайта на пхп В вашем примере htaccess будет быстрее, так как при правильной конфигурации запрос на статические файлы css, js, картинки и прочие обработает nginx и до апача очередь не дойдет, т.е. правила реврайта не проверятся. А в случае когда дело дойдет до апача, то у вас уже будет файл, по правилам которого нужно редиректить. В случае с редиректом пхп, нужно пройти весь путь, который описан выше, потом подключить пхп, потом ядро битрикса (а это множество инклудов), к базе законнектится, потом сделать запросики к базе (если мы про OLD_ID) и только потом выдать заголовок редиректа. Для того чтобы понять какой вариант лучше, то нужно сначала четко понимать задачу!
RewriteCond %
RewriteCond %
RewriteRule (.*) /pressroom/news/ [R=301,L]Цитата Денис пишет:
150 урлов, а это тока начало рехнешься забивать вручнуюЦитата Александр Маджугин пишет:
Такой необходимости быть не может ни на одном вменяемо спроектированном сайте.Цитата Дмитрий Яковенко пишет:
Банально сайт перенесли, редиректы старых
урлей, чем плохая задачаЦитата Дмитрий Яковенко пишет:
Если вы пишите редиректы в htaccess, то к битриксу это отношения не имеетЦитата Спорно. Правила реврайта проверяются всегда. Допустим у вас одна страница + 4-5 js + 2-3 css + 20-30 картинок. Быстрее ли 1 редирект на php чем 32 на mod_rewrite?
Да и реврайт обрабатывает адрес страницы, а не ее содержимое, т.е. картинки и прочее не потянется.
В случае когда мы говорим про инфоблок или списки с тысячами вариантов, то конечно проще сделать программный редирект.
В данном топике задача не описана, а обсуждается решение конкретной проблемы.301 редирект в Bitrix
RewriteCond %
RewriteCond %
RewriteRule (.*) /pressroom/news/ [R=301,L]Цитата Дмитрий Яковенко пишет:
Если вы пишите редиректы в htaccess, то к битриксу это отношения не имеет
RewriteCond %
RewriteCond %
RewriteRule (.*) /pressroom/news/ [R=301,L]Цитата Денис пишет:
150 урлов, а это тока начало рехнешься забивать вручнуюЦитата Александр Маджугин пишет:
Такой необходимости быть не может ни на одном вменяемо спроектированном сайте.Цитата Дмитрий Яковенко пишет:
Банально сайт перенесли, редиректы старых
урлей, чем плохая задачаЦитата Дмитрий Яковенко пишет:
Если вы пишите редиректы в htaccess, то к битриксу это отношения не имеетЦитата Спорно. Правила реврайта проверяются всегда. Допустим у вас одна страница + 4-5 js + 2-3 css + 20-30 картинок. Быстрее ли 1 редирект на php чем 32 на mod_rewrite?
Да и реврайт обрабатывает адрес страницы, а не ее содержимое, т.е. картинки и прочее не потянется.
В случае когда мы говорим про инфоблок или списки с тысячами вариантов, то конечно проще сделать программный редирект.
В данном топике задача не описана, а обсуждается решение конкретной проблемы.