BormotunJedy
@BormotunJedy
Верстальщик

Неправильно обрабатывается ЧПУ на Битрикс — детальная каталога — что делать?

После работ с настройкой фильтра, к сожалению, я не знаю, каких и что делалось, перестали работать ЧПУ ссылки ТОЛЬКО на детальную каталога - со всех товаров ведет на 404 страницу. При этом если поставить в настройках каталога в качестве конечного ЧПУ любой код раздела каталога (section_path_code или section_id), переход на эти разделы происходит. Если поставить в element_code или element_id, переходит на 404. Сайт на голом Битриксе, без шаблонов. Вот код из urlrewrite.php:
<?php
$arUrlRewrite=array (
  0 => 
  array (
    'CONDITION' => '#^\\/?\\/mobileapp/jn\\/(.*)\\/.*#',
    'RULE' => 'componentName=$1',
    'ID' => NULL,
    'PATH' => '/bitrix/services/mobileapp/jn.php',
    'SORT' => 100,
  ),
  1 => 
  array (
    'CONDITION' => '#^/bitrix/services/ymarket/#',
    'RULE' => '',
    'ID' => '',
    'PATH' => '/bitrix/services/ymarket/index.php',
    'SORT' => 100,
  ),
  6 => 
  array (
    'CONDITION' => '#^/personal/orders/#',
    'RULE' => '',
    'ID' => NULL,
    'PATH' => '/personal/orders/index.php',
    'SORT' => 100,
  ),
  8 => 
  array (
    'CONDITION' => '#/personal/bonuses/#',
    'RULE' => '',
    'ID' => 'bitrix:main.pagenavigation',
    'PATH' => '/personal/bonuses/index.php',
    'SORT' => 100,
  ),
  11 => 
  array (
    'CONDITION' => '#^/delivery/#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/delivery/index.php',
    'SORT' => 100,
  ),
  3 => 
  array (
    'CONDITION' => '#^/aktsii/#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/aktsii/index.php',
    'SORT' => 100,
  ),
  2 => 
  array (
    'CONDITION' => '#^/stati/#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/stati/index.php',
    'SORT' => 100,
  ),
  5 => 
  array (
    'CONDITION' => '#^/rest/#',
    'RULE' => '',
    'ID' => NULL,
    'PATH' => '/bitrix/services/rest/index.php',
    'SORT' => 100,
  ),
  10 => 
  array (
    'CONDITION' => '#^/#',
    'RULE' => '',
    'ID' => NULL,
    'PATH' => '/index.php',
    'SORT' => 100,
  ),
);
  • Вопрос задан
  • 364 просмотра
Решения вопроса 1
BormotunJedy
@BormotunJedy Автор вопроса
Верстальщик
Решение. Может кому пригодится.
1) создать в корне сайта папку catalog и в ней index.php, в которой вызывается компонент bitrix:catalog
2) вручную прописывается в urlrewrite.php следующий текст:
[номер, которого еще нет в файле] => 
  array (
    'CONDITION' => '#^/catalog/#',
    'RULE' => '',
    'ID' => 'bitrix:catalog',
    'PATH' => '/catalog/index.php',
    'SORT' => 100,
  ),

3) еще раз прописываем ЧПУ во всех блоках, где они задаются, и сохраняем результат
4) здесь есть вилка, похожая больше на рогатку: все заработает нормально или заработает с оговорками.
Как бороться с оговорками (сайт-то боевой, особо не пошикуешь переустановками Битрикса), отдельная тема.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы