bitrix не работает чпу

Столкнулся с моментом, что на сайте лицензия «Старт» не работает стандартное ЧПУ по умолчанию с использованием ID, по отношению к элементам каталога для которых не указан раздел, т.е если товар относится к верхнему уровню ЧПУ не работает.
Например вот такой урл товара не привязанного к разделу: http://сайт.ру/products/38/ — Раздел не найден.
Шаблон компонента стандартный.
Есть вариант использовать ЧПУ с символьными кодами тогда все работает, но что делать когда нужно чтобы стандартное ЧПУ заработало?

Рабочий вариант ЧПУ с символьными кодами:

Если у вас есть товары без раздела (на верхнем уровне), то используйте такой вариант:
element/#ELEMENT_ID#/

Этот вариант проверен -рабочий.

Ещё статьи:

18.11.2019 Подборка эффективных WooCommerce шаблонов для электронной коммерции
Для создания интернет- магазина можно использовать различные платформы. К примеру OpenCart или Magento — популярные системы управления содержимым с от. ID: 204

07.11.2019 Две ошибки молодого интернет-магазина
Из моих наблюдений расскажу об ошибках молодого интернет-магазина. ID: 202

26.10.2019 Штатная битрикс сортировка по цене
Временами полезно смотреть документацию. Недавно обнаружил, что появилась сортировка по SCALED_PRICE_[ID]
ID: 199

Новые статьи в блоге:

18.11.2019 404 ошибка для результатов фильтра
Интересная ошибка выявлена в работе smart.filter. Не работает фильтрация и кнопка купить если в адресе есть слова с спецсимволами. ID: 205

10.11.2019 Ресайз изображений в news.list
Часто вижу, что изображения анонса элемента уменьшают с помощью стилей, а фактический размер картинки остаётся большой. В итоге суммарная нагрузка на . ID: 203

01.11.2019 Вывести начальные значения цена от и до
В smart-filter битрикс вывести начальные значения цен ID: 201

Если у вас возникли какие либо вопросы которые вы не смогли решить по нашим публикациям самостоятельно,
то ждем ваше обращение в нашей службе тех поддержки.

Если послушать рядовых пользователей, то ЧПУ «Битрикс» непостижим, чужд и враждебен, как космос. Штука и впрямь непростая, даже сами разработчики CMS это признают. Но на следующем же абзаце они утверждают, что ЧПУ прекрасно работает, надо мол просто знать что, где и как подкрутить. Золотой совет! Вот давайте прямо сейчас и начнем разбираться.

Почему не работает правило обработки адресов?

1. Прежде всего проверьте, все ли значения правила записаны, например:

array(
«CONDITION» => «#^/index/([0-9]+)/([0-9]+)/#»,
«RULE» => «mode=read&C > «ID» => «bitrix:catalog.section»,
«PATH» => «/newforum/index.php»,
),

Здесь CONDITION – условие, RULE – правило, ID – компонент, PATH – путь до компонента

2. Затем проверьте, верно ли записаны правила.

Ищите ошибки в путях, синтаксические ошибки, неверно записанные условия и правила. Документацию и примеры смотрите по адресу

3. Далее проверьте очередность правил сверху вниз кода файла urlrewrite.php

Частное и реже используемое правило следует размещать выше, чем более общее и чаще используемое. Например, правило обработки адреса статьи раздела должно быть выше правила обработки адреса раздела, к которому относится статья. Устанавливайте правила через интерфейс административной панели Настройки > Настройки продукта > Обработка адресов, контролируйте правильность в файле urlrewrite.php

4. Проверьте настройки компонента и инфоблока.

А) Доступ к инфоблоку и к компоненту открыт?

Б) Права доступа к инфоблоку и к компоненту достаточны (чтение)?

В) Элемент существует?

Г) Номер элемента указан верно?

5. Не меняла ли CMS записи в файле urlrewrite.php?

При сохранении настроек комплексного компонента «Битрикс» обновляет правила и файл urlrewrite.php, в процессе выполняя сортировку правил. В результате сплошь и рядом нарушается порядок очередности и правила перестают работать.

Всегда имейте наготове резервную копию актуальной версии файла urlrewrite.php с верно записанными правилами. Выработайте автоматизм, как на Ctrl+S. Загрузить такой бэкап двухминутное дело, а восстанавливать правила по памяти куда как дольше.

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

Есть 2 правила для ЧПУ:

Первое работает на адресах типа /vopros-otvet/page-2/. Второе же должно работать на адресах типа /lenta/articles/page-2/, но упорно выдает 404 ошибку.

  • Вопрос задан более трёх лет назад
  • 4329 просмотров

не думаю что проблема в htaccess, т.к. файлы есть и я там еще в комментарий добавил еще одно правило, которое почти не отличается от рабочего, но внезапно не работает
htaccess:
Options -Indexes
ErrorDocument 404 /404.php

php_flag allow_call_time_pass_reference 1
php_flag session.use_trans_sid off
#php_value display_errors 1

#php_value mbstring.internal_encoding UTF-8

Options +FollowSymLinks
RewriteEngine On
RewriteCond % !-f
RewriteCond % !-l
RewriteCond % !-d
RewriteCond % !/bitrix/urlrewrite.php$
RewriteRule ^(.*)$ /bitrix/urlrewrite.php [L]
RewriteRule .* — [E=REMOTE_USER:%]

DirectoryIndex index.php index.html

ExpiresActive on
ExpiresByType image/jpeg «access plus 3 day»
ExpiresByType image/gif «access plus 3 day»

Header set X-Frame-Options SAMEORIGIN
Header set X-Content-Type-Options nosniff

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