Разработка

Смена адреса / смена урла раздела / смена урла детальной страницы

Смена адреса / смена урла раздела / смена урла детальной страницы

Почему не меняется урл детальной странице при смене физического пути?

Переименована папка средствами FTP с brands на otdel-prodazh, но детальная ссылка всё равно https://сайт.рус/brands/abkhaziya/ а должна быть https://сайт.рус/otdel-prodazh,/abkhaziya/

что было сделано:

  1. переименована папка через FTP**

  2. в компоненте на странице заменён “SEF_FOLDER” => “/otdel-prodazh/”,

  3. в настройках инфоблока

URL страницы детального просмотра: #SITE_DIR#otdel-prodazh/#ELEMENT_CODE#/

URL страницы информационного блока: #SITE_DIR#otdel-prodazh/

Канонический URL элемента: #SITE_DIR#otdel-prodazh/#ELEMENT_CODE#/

Очищен кеш кнопкой ВЕСЬ КЕШ

Битрикс всё равно продолжает настаивать что урлы не менялись и ты сделал всё неверно.

Отличный вопрос! Это очень частая ситуация в Битрикс, когда логика URL не сразу обновляется. Вы сделали правильные шаги, но, скорее всего, проблема кроется в одном из следующих моментов.

Давайте пройдемся по чек-листу от наиболее вероятной причины к наименее вероятной.

  1. Кэш (Самая вероятная причина)

Битрикс агрессивно кэширует результаты работы компонентов, включая сгенерированные ссылки DETAIL_PAGE_URL . Даже если вы изменили все настройки, система может продолжать показывать старые данные из кэша.

** Что делать: **

  • ** Полная очистка кэша: ** Зайдите в административную панель: Настройки -> Настройки продукта -> Автокэширование . На вкладке “Очистка файлов кэша” выберите “Все” и нажмите “Начать”.

  • ** Сброс управляемого кэша: ** После первого шага перейдите на страницу ваш-сайт.ру/bitrix/admin/cache.php?lang=ru и нажмите “Сбросить весь управляемый кеш”.

  • Откройте сайт в режиме инкогнито или с помощью Ctrl+F5 / Cmd+Shift+R , чтобы сбросить и кэш браузера.

** 90% проблем такого рода решаются именно полной очисткой кэша. **


  1. Правила обработки URL ( urlrewrite.php )

Когда вы используете ЧПУ (SEF_MODE = “Y”), Битрикс создает специальные правила в файле /urlrewrite.php в корне сайта. Эти правила говорят системе, какой физический файл должен обрабатывать красивый URL. Возможно, старое правило для /brands/ осталось, а новое для /otdel-prodazh/ не создалось или создалось некорректно.

** Что делать: **

  • Зайдите в админ-панель: Настройки -> Настройки продукта -> Обработка адресов -> Правила обработки .

  • Внимательно посмотрите список. Вы должны найти там правило, примерно такого вида:

  • ** Условие: ** #^/otdel-prodazh/#

  • ** Компонент: ** (пусто или ваш компонент)

  • ** Файл: ** /otdel-prodazh/index.php

  • ** ID: ** bitrix:news (или ID вашего компонента)

  • ** Убедитесь, что нет старого правила для #^/brands/# ** . Если оно есть — удалите его.

  • ** Если нового правила нет: ** Самый простой способ его создать — это открыть страницу /otdel-prodazh/ в режиме правки, зайти в настройки компонента и ** просто нажать “Сохранить” ** , ничего не меняя. Эта операция заставит компонент переписать свои правила в urlrewrite.php .


  1. Настройки самого компонента (Приоритет)

Настройки URL в инфоблоке имеют ** низший приоритет ** . Главными являются параметры, переданные непосредственно при вызове компонента на странице. Вы указали, что изменили "SEF_FOLDER" => "/otdel-prodazh/" , но нужно проверить и шаблоны путей.

** Что делать: **

  • Откройте в режиме PHP-кода файл, где находится папка, которую вы переименовали (вероятно, /otdel-prodazh/index.php ).

  • Найдите вызов компонента, он выглядит примерно так:

$APPLICATION->IncludeComponent( “bitrix:news”, // или другой компонент, например, catalog “.default”, Array( // … другие параметры “SEF_MODE” => “Y”, “SEF_FOLDER” => “/otdel-prodazh/”, // Вы это уже проверили “SEF_URL_TEMPLATES” => array( “news” => "", “section” => “#SECTION_CODE#/”, “detail” => “#ELEMENT_CODE#/”, // <— ВОТ ЭТО КЛЮЧЕВОЙ ПАРАМЕТР! ), // … другие параметры ) );

  • Убедитесь, что в массиве "SEF_URL_TEMPLATES" в ключе "detail" ** нет ** старого пути brands . Там должен быть путь * относительно * SEF_FOLDER . Например, #ELEMENT_CODE#/ или item/#ELEMENT_CODE#/ . Полный путь otdel-prodazh/#ELEMENT_CODE#/ здесь указывать ** не нужно ** . Битрикс сам “склеит” SEF_FOLDER и шаблон из SEF_URL_TEMPLATES .

План действий по шагам:

  • ** Очистите кэш полностью ** (пункт 1). Проверьте результат в инкогнито. Не помогло? Идем дальше.

  • ** Зайдите в настройки компонента на странице /otdel-prodazh/ ** в режиме правки и просто нажмите “Сохранить”. Это должно обновить правила в urlrewrite.php . Проверьте результат (снова очистив кэш для верности). Не помогло? Идем дальше.

  • ** Проверьте файл /urlrewrite.php вручную ** (пункт 2). Удалите старые правила для /brands/ , если они там остались. Проверьте.

  • ** Проверьте код вызова компонента ** (пункт 3), а именно массив SEF_URL_TEMPLATES . Убедитесь, что там нет ничего лишнего.

Скорее всего, проблема решится на первом или втором шаге.


Ищете надежного партнера по веб-разработке и автоматизации? Мы помогаем бизнесу расти с помощью современных технологий, автоматизации процессов и экспертного SEO. Свяжитесь с нами, чтобы обсудить вашу задачу.

🚀 Нужна помощь с сайтом на 1С-Битрикс или Аспро?

Я работаю удалённо по всей России и СНГ. Узнайте цены и условия для вашего города:

Все регионы →