Urlrewrite в битриксе и работа с utm-метками

Запись от 18.12.2016
Правила обработки адресов в битриксе довольно скользкая тема.
Если почитать документацию, то можно увидеть, что condition для обработчика рекомендуется писать в виде:
#^/blog/(\w+)/#

Этот подход плох тем, что к такому адресу не добавить utm-метки. А в режиме администрирования битрикс сам добавляет GET-параметры страницы, что приводит к невалидности страницы - «Элемент не найден» в случае компонента «bitrix:catalog.section».

В простом случае можно дописать правило таким образом:
#^/blog/(\w+)/.*#

Теперь страница валидна с GET-параметрами админки и utm-метками, но также и валидна с мусором. Например, ссылка «/blog/page/blablabla» будет валидной и страница откроется, однако тут должна быть 404 ошибка - страница не найдена. Потенциально это может привести к страницам-дублям в поисковиках, а этого стоит избегать.
Поэтому, на мой взгляд, стоит писать правило так:
#^/blog/(\w+)/($|\?.+$)#

В таком случае страница будет валидной либо в чистом виде, либо с GET-параметрами.