Почему не открывается детальный просмотр новости?

Осваиваю Битрикс. Столкнулся со следующей проблемой. Создал новостной инфлоблок. Анонсы новостей выводятся как положено, но при попытке перейти на детальный просмотр новости выводится ошибка "404 Not Found". Объясните почему и как это решить.

Мой файл urlewrite.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' => '#^/rest/#',
    'RULE' => '',
    'ID' => NULL,
    'PATH' => '/bitrix/services/rest/index.php',
    'SORT' => 100,
  ),
  2 => 
  array (
    'CONDITION' => '#^/news/#',
    'RULE' => '',
    'ID' => 'bitrix:news',
    'PATH' => '/news/index.php',
    'SORT' => 100,
  ),
);

Настройки инфоблока следующие введите сюда описание изображения


Ответы (3 шт):

Автор решения: phpBear

Скорее всего дело в некорректном регулярном выражении. Судя по скриншоту у Вас URL детального просмотра конкретной новости будет вида /news/<id новости>/.

Регулярное выражение #^/news/# условно можно перевести как начинается на /news/. Но ведь у Вас после /news/ есть еще и <id новости>. Но Вы не описали этого в регулярном выражении. Соответственно нет и совпадения.

Идем на https://regex101.com/ и проверяем - #^/news/# или /^\/news\// для строки /news/500/ - видим, что /news/ попадает, а вот 500 нет. Изменяем на #^/news/\d+/# ( если у Вас Id новости - число), либо на #^/news/.+/# для любого варианта. Проверяем. Ву-а-ля - вся строка попадает под регулярное выражение.

→ Ссылка
Автор решения: Ilnur Davletbaev

Регулярное выражение в urlrewrite.php верное, но в настройках инфоблока указано не "news", а "new". Плюс хорошо было бы посмотреть на настройки компонента - там тоже могут быть некорректные настройки ЧПУ.

→ Ссылка
Автор решения: Роман Морозов
  1. Если файл urlewrite.php у вас сгенерировался автоматически, то папка у вас вероятно /news/. А в настройках инфоблока вы указали /new/ (нет S)
  2. Проверьте какое значение параметра SEF_FOLDER при вызове компонента, /new/ или /news/
  3. В настройках компонента в макросе детальной страницы должно быть #ELEMENT_CODE#/

Источник. Там есть все варианты, когда может быть 404

→ Ссылка