Bitrix news не работает чпу

Не работают ЧПУ в битриксе: 3 причины

При разработке магазина на битриксе достаточно часто возникают сложности с настройкой ЧПУ на сайте. Не столь важно, в компоненте ли каталога, новостей, или же каких-либо иных. Казалось бы, настройка ЧПУ по документации битрикса достаточно тривиальна, и там не может что-то пойти не так. Однако, опыт автора настоящей статьи, и те форумы, куда автор обращался за решением, говорят об обратном. Проблема существует и достаточно актуальна.

Ниже представлены 3 самые распространенные причины того, почему могут не работать настройки ЧПУ в битриксе. Причем могут не работать ЧПУ для всех типов страниц компонента, или же только для детальных страниц. Итак, причины могут быть следующими:

  1. Неправильные настройки ЧПУ в настройках инфоблока и компонента
  2. Ошибки в urlrewrite.php
  3. Некорректные правила в .htaccess

Следует рассмотреть каждую причину детально.

1. Неправильные настройки ЧПУ в инфоблоке и компоненте

Данная причина является самой простой по своему характеру и самой легкой в исправлении. Собственно, диагностику корректности настройки ЧПУ на сайте нужно начать с этого шага.

Подробное описание о том, как настроить ЧПУ для компонента можно найти в справке (учебных курсах) битрикса. Однако, в качестве примера, хотелось бы привести наиболее типичные настройки ЧПУ для каталога товаров в интернет-магазине:

Шаг А. Настройки ЧПУ в инфоблоке

На вкладке настроек инфоблока ( “Контент” > “Инфоблоки” > “Типы инфоблоков” > Далее индивидуально ) указываем:

Шаг Б. Настройки ЧПУ в компоненте каталога

В настройках компонента, на вкладке “управление адресами страниц”, указываем:

Сохраняем изменения, сбрасываем кеш, проверяем результат. Если ЧПУ не работают, переходим к шагу 2.

2. Проблемы с файлом urlrewrite.php

Говоря простыми словами, urlrewrite.php, лежащий в корне сайта — это файл, в котором содержатся правила, в которых сообщается серверу о том, как обрабатывать тот, или иной файл.

В самом деле, может быть несколько причин, почему правила, записанные в urlrewrite, могут работать некорректно:

  • Нарушена очередность правил
  • Ошибка сохранения при перезаписи файла CMS
  • CMS, при сохранении настроек компонента перезаписала настройки, ранее внесенные в файл руками
  • Ошибки в путях, синтаксисе и т.д.

Источник

Как включить ЧПУ в компоненте news.list битрикс

На сайте есть папка inform в ней 2 файла index.php и detail.php В файле index.php вызывается компонент news.list, в файле detail.php вызывается компонент news.detail. В файле index.php если задано DETAIL_URL=/inform/detail.php?ELEMENT_CODE=#ELEMENT_CODE# детальная новость выводится, если ничего не задано или задано DETAIL_URL=/inform/#ELEMENT_CODE#/ детальная новость не выводится вместо нее пустая белая страница ошибок на ней нет. Пробовал использовать вместо news.list компонент news тоже самое получается.

Читайте также:  Парень не работает пьет

Как изменить DETAIL_URL, чтобы детальная страница отображалась и URL имел вид /inform/frukty/ .

Привожу коды компонентов и код файла urlrewrite.php

Код файла index.php в папке inform

Код файла detail.php в папке inform

Код файла urlrewrite.php

Код шаблона info_list

1 ответ 1

В Вашей реализации, с тем что уже сделано можно сделать так:

  • в файле urlrewrite.php наверно не то что то, вот пример

попробуйте так (т. е. выбирается из урла вторая часть после /inform/ который может быть символами и цифрами, и то что найдено будет передано в файл /inform/detail.php в $_REQUEST[‘ELEMENT_CODE’], а в этом файле вы уже будете использовать где хотите ):

  • В файле index.php укажите DETAIL_URL = «/inform/#ELEMENT_CODE#» (тогда урлы в шаблоне будут составлены такого типа , /inform/ )
  • а в файле detail.php уберите строчку «ELEMENT_ID» => $_REQUEST[«ID»] (ведь Вы же не собираетесь передавать id товара да и в файле urlrewrite.php такой вариант не описали, а в этом файле у вас будет код элемента из урла в переменной $_REQUEST[‘ELEMENT_CODE’] которую вы уже подкидываете в компонент )

Но потестируйте может чуть другая регулярка нужна (можно найти в документации).

Если белый экран то надо включить в битриксе вывод php ошибок.

(Ну наверно проще было бы комплексный компонент использовать news — по нему много статей и документации)

Источник

Настройка ЧПУ в новостной ленте 1c-bitrix – способ №2

Сегодня я расскажу как настраивать ЧПУ при совместном использовании 2х компонентов – «лента новостей» и «новость детально». Результатом будут красивые ссылки вида /news/1/ вместо стандартного /news/news_detail.php?ELEMENT_ID=1.

Итак, что нам необходимо для начала работы:
— созданный инфоблок с добавленными элементами
— настроенный обработчик 404 ошибки (как это сделать, я писал тут)
— компонент «лента новостей» (для примера будет располагаться в корне сайта /index.php)
— компонент «новость детально» (например, в /news/news_detail.php)

Первым делом в ленте новостей указываем путь до страницы детального просмотра — /news/#ELEMENT_ID#/
В настройках «новости детально» должно стоять: ID новости =

Идем в Панель управления – Настройки – Настройки продукта – Обработка адресов – Новая запись.
Для тестового примера заполняем поля как на скриншоте

Файл — указываем путь до страницы, на которой лежит компонент «новость детально».
Условие стоит рассмотреть подробнее:
символами #^ обозначается начало строки для сопоставления;
/news/ — реальный или виртуальный каталог (т.е. может не существовать), который будет использоваться в адресах ссылок. Должен совпадать с первой частью пути до страницы детального просмотра в компоненте «лента новостей» (до #ELEMENT_ID#/);
(1+) — буквально означает «любое количество цифр от 0 до 9». Это наиболее подходящий вариант, так как id новости — всегда число;
# — конец условия

Читайте также:  Ведьмак 3 сломался квест

Этим заканчивается процесс настройки, ЧПУ уже должно работать.

Для правильной работы поиска указываем в настройках инфоблока:
URL страницы информационного блока: #SITE_DIR#/
URL страницы раздела:
URL страницы детального просмотра: #SITE_DIR#/news/#ELEMENT_ID#/
Здесь /news/ тот самый существующий или не существующий каталог, о котором шла речь выше.

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

Источник

Bitrix news не работает чпу

Помогите пожалуйста настроить ЧПУ для комплексного компонента Новости Делаю как написано в источниках в интернете, но не работают ссылки.

В настройках самого инфоблока написал так:

URL страницы информационного блока: #SITE_DIR#/novosti/
URL страницы раздела: #SITE_DIR#/novosti/
URL страницы детального просмотра: #SITE_DIR#/novosti/#SECTION_ID#/#ELEMENT_ID#/

В настройках компонента следующее:

Каталог ЧПУ (относительно корня сайта): /novosti/
Страница общего списка:
Страница раздела: /*Разделов нет, поэтому тут ничего не написал*/
Страница детального просмотра: #ELEMENT_ID#/

В правилах обработки следующее:
*Условие: #^/novosti/#
Компонент: bitrix:news
Файл: /novosti/index.php
Правило: ELEMENT_ID=$1

В файле .htaccess следующее:

Options -Indexes ErrorDocument 404 /404.php

php_flag session.use_trans_sid off
#php_value display_errors 1
#php_value mbstring.internal_encoding UTF-8

RewriteEngine On
RewriteCond % !-f
RewriteCond % !-l
RewriteCond % !-d
RewriteCond % !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]

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»

В правилах обработки само правило должно быть пустым. И по идее, если все это правило для данного раздела удалить — после сохранения настроек компонента комплексного компонента правильное правило должно само создаться.

Если разделов нет, то
URL страницы детального просмотра: #SITE_DIR#/novosti/#ELEMENT_ID#/

Источник

ЧПУ и ошибка 404

Проблема проста. Чувствую что решается за пять минут, но пока ни как не пойму куда копать. Нужно чтоб URL были вида https://site.org/catalog/nazvanie_tovara.html
Что я делала. В настройках компанента написала

URL страницы информационного блока: #SITE_DIR#/catalog/
URL страницы раздела: #SITE_DIR#/catalog/#SECTION_CODE#/
URL страницы детального просмотра: #SITE_DIR#/catalog/#ELEMENT_CODE#.html

Я почему-то думала что для начала этого должно хватить, но страницы открываются по старому.
https://site.org/catalog/kod_razdela/cod_tovara/
Тоесть выходит что оно берет вид этих ссылок откуда-то еще, но сколько читала, всюду написано что именно тут. Кэш сбрасывала, не помогает. Решила чтоб на верняка попробовать настроить еще в самом компаненте. Открыла каталог, включила режим правки, и там вкомпаненте прописала тоже самое. сами ссылки на странице поменялись, стали такимикак я хотела, но они же не работают, работают те старые. Что я еще не учла? Если что то и в управлении адресами добавляла правило #^catalog/(.*).html$# , но и оно не помагало. буду благодарна за любую подсказку.

Цитата
Андрей написал:
Обычно это все прописывается в настройках инфоблока и затем дублируется в настройках компонента и ЧПУ работает. Разве нет?

В настройках инфоблока как обычно:

Самописное правило из обработки адресов удалите, а затем еще раз откройте настройки компонента и сохраните — если там отмечена галочка использования ЧПУ, Битрикс в этот момент сам прописывает правило обработки адресов.

Это все, больше никаких настроек не нужно, все должно работать. Если нет — пишите, попытаемся разобраться почему не работает.

то редерикт на 404 остается.И вот что еще. Сейчас попробовала допустить умышленно ошибку вкоде, то тогда вместо 404 крашится с ошибкой, тоесть настройка работает, осталось подружить это все с самим компанентом.

Блин. Наверно не понятно написала, сама запуталась, а до понедельника край как нужно сделать, в понедельник выгрузку товаров уже делать. Помогите.

Цитата
Денис Сон написал:
Напишите, пожалуйста, адрес сайта где можно увидеть проблему.
Цитата
Денис Сон написал:
опробуйте его закомментировать — проблема, скорее всего уйдет.
Цитата
Наталия Курилович написал:
но только не пойму почему тогда если закоментировать строки с
Цитата
Наталия Курилович написал:
Не то.Проблема актуальна. Думаю что проще в htaccess правила прописать и не мучаться.

Вот верная настройка 404 страницы, специально написали эту статью, чтобы раз и навсегда закрыть эту тему, так как это одна из самых распространенных ошибок:

Цитата
Наталия Курилович написал:
Не то.Проблема актуальна. Думаю что проще в htaccess правила прописать и не мучаться.

Вот верная настройка 404 страницы, специально написали эту статью, чтобы раз и навсегда закрыть эту тему, так как это одна из самых распространенных ошибок:

Источник

Оцените статью