Проблема проста. Чувствую что решается за пять минут, но пока ни как не пойму куда копать. Нужно чтоб URL были вида https://site.org/catalog/nazvanie_tovara.html Что я делала. В настройках компанента написала
URL страницы информационного блока:
#SITE_DIR#/catalog/
URL страницы раздела:
#SITE_DIR#/catalog/#SECTION_CODE#/
URL страницы детального просмотра:
#SITE_DIR#/catalog/#ELEMENT_CODE#.html
Я почему-то думала что для начала этого должно хватить, но страницы открываются по старому. https://site.org/catalog/kod_razdela/cod_tovara/ Тоесть выходит что оно берет вид этих ссылок откуда-то еще, но сколько читала, всюду написано что именно тут. Кэш сбрасывала, не помогает. Решила чтоб на верняка попробовать настроить еще в самом компаненте. Открыла каталог, включила режим правки, и там вкомпаненте прописала тоже самое. сами ссылки на странице поменялись, стали такимикак я хотела, но они же не работают, работают те старые. Что я еще не учла? Если что то и в управлении адресами добавляла правило #^catalog/(.*).html$#, но и оно не помагало. буду благодарна за любую подсказку.
Включить поддержку ЧПУ: да
Каталог ЧПУ (относительно корня сайта): /catalog/
Раздел: #SECTION_CODE#/
Детальная информация: #ELEMENT_CODE#.html
При этом нужно проверить, чтобы в шаблонах компонентов вывод ссылок был правильный, т.е.
Код
<a href="<?=$arItem['DETAIL_PAGE_URL']?>">
Самописное правило из обработки адресов удалите, а затем еще раз откройте настройки компонента и сохраните - если там отмечена галочка использования ЧПУ, Битрикс в этот момент сам прописывает правило обработки адресов.
Это все, больше никаких настроек не нужно, все должно работать. Если нет - пишите, попытаемся разобраться почему не работает.
Ну почти разобралась. Вот я так думаю что редерикт происходи именно в самом файле index.php. Того программиста который настраивал первично уже у нас нет,а я сама php знаю тоько базово. вот что у нас в самом начале кода. Подскажите как правильно подправить чтоб работало коректно.
Попробовала создать новую страничку, по тойже схеме. Там если настроить так как в курсах написано и как тут писалось то работает. Значит это правда в этом куске что я привела все происходит, но только не пойму почему тогда если закоментировать строки с
Код
CHTTP::SetStatus("404 Not Found");
@define("ERROR_404","Y");
то редерикт на 404 остается.И вот что еще. Сейчас попробовала допустить умышленно ошибку вкоде, то тогда вместо 404 крашится с ошибкой, тоесть настройка работает, осталось подружить это все с самим компанентом.
Блин. Наверно не понятно написала, сама запуталась, а до понедельника край как нужно сделать, в понедельник выгрузку товаров уже делать. Помогите...
Я в этом шаманском коде не понимаю пока, для чего нужен LocalRedirect. Попробуйте его закомментировать - проблема, скорее всего уйдет. Но нужно разбираться, для чего этот код нужен был и как его сделать нормальным.
Вы пробовали закомментировать одновременно и LocalRedirect и CHTTP::SetStatus("404 Not Found") и @define("ERROR_404","Y"), и после этого проблема остается?
Ой. Нет. Но это тоже не оно. Но и это не помогло. Это было выдран из другого проэкта, это я знаю зачем. Там мы по тем же граблям ходили, правда уже на боевом сайте и нужно было чтоб яндекс не ругался на то что страницы безследно исчезли мы их так перемещали. Там проверка идет по каким-то условиям, особо не вникала, я на том сайте мало чего делаю, так вот идет проверка и если такой товар есть то его редериктет на новый урл с кодом перемещено на всегда. Тут это не нужно, убрала этот блок. Пока по старому. Разделы находит, а товары сейчас уже ни по старому ни так ка надо не открывает. Кажется уже почти разобралась. Там нужно немного подправить. Точно, нашла, сейчас попробую.
Наталия Курилович написал: Не то.Проблема актуальна. Думаю что проще в htaccess правила прописать и не мучаться.
Вот верная настройка 404 страницы, специально написали эту статью, чтобы раз и навсегда закрыть эту тему, так как это одна из самых распространенных ошибок:
Наталия Курилович написал: Не то.Проблема актуальна. Думаю что проще в htaccess правила прописать и не мучаться.
Вот верная настройка 404 страницы, специально написали эту статью, чтобы раз и навсегда закрыть эту тему, так как это одна из самых распространенных ошибок:
В моем случае ошибка 404 была из-за того, что новые компоненты новостей НЕ добавили свои правила в urlrewrite.php. Я их дописал вручную (заодно пронумеровал массив по порядку и убрал пропуски)