Задать вопрос
@qlr

Страницы в битриксе отдают 404 по определенным url?

Ситуация следующая:
после переноса сайта (не мной и я не знаю откуда/куда) на битрикс появились 404 на некоторых страницах.

есть инфоблок производители, несколько производителей:
1) красивый закат
2) прогресс
3) сатурн

у всех выставлен символьный код, при переходе по урлу на любого из них должен выводиться товар, принадлежащий этому производителю. это всё работает, но не для всех.
допустим у производителя красивый закат URL следующий:
www.site.ru/krasivij_zakat
и он отдает 404. если я нажимаю генерация урла в битриксе, то он меняет его на
www.site.ru/krasiviy-zakat
и всё работает нормально.
остальные производители по следующим урлам работают без проблем, также все ок:
www.site.ru/progress
www.site.ru/saturn

никаких ограничений по урлам в битриксе (поиск по файлам и их содержимому) и в бд не найдено.
прошелся по бэктрейсу, выводя echo'м сообщения, падает на этой строчке (до нее выводит сообщение, после нее нет):
ob_start(array(&$APPLICATION, "EndBufferContent"));

это функция PrologActions() в битриксе. функция, влияющая на буфер, отдает 404 - странно как-то. не думаю, что проблема в ней.

куда копать непонятно. буду благодарен за любую подсказку.
  • Вопрос задан
  • 1290 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 2
babarun
@babarun Куратор тега 1С-Битрикс
Безумный план моих идей в руках больных людей
  1. в корне сайта есть .htaccess.restore ?

  2. если я нажимаю генерация урла в битриксе, то он меняет его на
    www.site.ru/krasiviy-zakat
    и всё работает нормально.

    так у вас значит символьные коды неправильно прописаны

Ответ написан
@Sowander
нижние подчеркивания в url очень хреновая идея, во первых SEO, во вторых nginx который это все дело обрабатывает, с нижними подчеркиваниями может творить чудеса.
Чтоб все работало
1. Избавляемся от нижних подчеркиваний в символьных кодах
2. Идем в настройки инфоблока проверяем что на написано, должно быть примерно следуйщее
URL страницы раздела
#SITE_DIR#/корневая папочка каталога/#SECTION_CODE#/
URL страницы детального просмотра:
#SITE_DIR#/корневая папочка каталога/#SECTION_CODE_PATH#/#ELEMENT_CODE#/
здесь обращаем внимание на последний символ / ибо,
www.site.ru/progress и www.site.ru/progress/ это два разных адреса

3. Проверяем настройки ЧПУ в компоненте, должны быть идентичны настройкам инфоблока
4. Проверяем права на файлы через внутреннюю проверку битрикса
/bitrix/admin/site_checker.php
(это для того чтоб у битрикса были права на запись на файлик urlrewrite.php)
5. Смотрим что написано в Настройка правил обработки адресов
/bitrix/admin/urlrewrite_list.php
(здесь не должно, быть упоминаний в явном виде о проблемных разделах, если есть удалить к чертям, предварительно забэкапив файлик /urlrewrite.php)
тыркаем в Пересоздание
6. Заходим по ssh в консоль сервера, набираем
grep -r "проблемный раздел" /путь до сайта
grep -r "krasivij" /home/bitrix/www
таким образом ищем файлы с упоминанием о проблемном разделе по всему сайту
может кто где захардкодил сумасшедшие редиректы
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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