Архив метки: чпу

Правило обработки адресов, учитывающее QueryString

При ручном создании правил обработки адресов в Битрикс часто сталкивался с проблемой конкатинации QueryString — появлялся второй символ «?» в обработанном URL.

Решить эту проблему помогает усложнение правила обработки адресов примерно к такому виду:

Условие: #/bike/e(\d+)/(?:index.php)?(?:\?(.*))?#
Файл: /bike/detail.php
Правило: ELEMENT_ID=$1&$2

В таком виде правило преобразует URL вида /bike/e122/?QS в /bike/detail.php?ELEMENT_ID=122&QS. Также позволяет указывать /bike/e122/index.php?QS, если этого нужно избежать то условие нужно сократить до:

Условие: #/bike/e(\d+)/(?:\?(.*))?#