ЧПУ в Битриксе и urlrewrite.php

31.01.2018  11:18

Для начала в настройках инфоблока пропишем шаблоны ссылок на разделы и товары:

ЧПУ ссылки в настройках инфоблока

Затем в корне сайта создадим файлик urlrewrite.php, если его там нет:

$arUrlRewrite = array(
	array(
		"CONDITION" => "#^/catalog/([^/]+)/([^/]+)/.*?$#",
		"RULE" => "SECTION_CODE=$1&ELEMENT_CODE=$2",
		"PATH" => "/catalog/detail.php",
	),
	array(
		"CONDITION" => "#^/catalog/([^/]+)/.*?$#",
		"RULE" => "SECTION_CODE=$1",
		"PATH" => "/catalog/list.php",
	),
);

В файле detail.php подключен catalog.element, в list.php — шаблон компонента catalog.section

Вот, примерно так. А можно ещё хитрее, если надо реализовать ссылки вида /element_code/

$arUrlRewrite = array(
	array(
		"CONDITION" => "#^/tags/(.*)/(.*)/(.*)#",
		"RULE" => "TAG_SECTION=$1&TAG=$2",
		"PATH" => "/tags/detail.php",
	),
	array(
		"CONDITION" => "#^/tags/(.*)/(.*)#",
		"RULE" => "TAG_SECTION=$1",
		"PATH" => "/tags/index.php",
	),
	array(
		"CONDITION" => "#^/#",
		"RULE" => "",
		"ID" => "bitrix:catalog",
		"PATH" => "/catalog.php",
	),
);

в catalog.php — комлпексный компонент каталога товаров.

Единственный момент, такое правило должно быть самым последним и такие ссылки должны быть только для одного инфоблока.


перейти в Блог | Блог (стр. 4)

Ударим лайками по бездорожью, разгильдяйству и бюрократизму!


Ключевые слова (тэги): 1С-Битрикс 44  PHP 56  web-программирование 80  

Вам есть что сказать — ну я же чую.
Высказаться о наболевшем, я выслушаю:
Имя


email (не публикуется)