Столкнулся с моментом, что на сайте лицензия «Старт» не работает стандартное ЧПУ по умолчанию с использованием 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 %
RewriteCond %
RewriteCond %
RewriteCond %
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