kiselyovalex,
Ошибка в регулярном выражении.
Дело в том, что ссылку "/articles/%3FELEMENT_ID%3D5555" битрикс интерпретирует как: "/articles/?ELEMENT_ID=5555" и сравнивает ее.
Но при добавлении параметров к ней (например "/articles/%3FELEMENT_ID%3D5555?utm_source=site") он будет ее интерпретировать как: "/articles/?ELEMENT_ID=5555?utm_source=site"
Поэтому правило, которой можно заставить ваше чудо работать это:
Код |
---|
array(
"CONDITION" => "#^/articles/\?([A-Z0-9_]+)=([0-9]+)(.*)#",
"RULE" => "field=\$1&value=\$2&",
"PATH" => "/articles/test.php",
), |
Обращаю внимание, что в $_REQUEST появятся 2 ключа: field и value соответственно.
И при открытии ссылок "/articles/%3FELEMENT_ID%3D5555" и "/articles/%3FELEMENT_ID%3D5555?utm_source=site" в обоих случаях они будут заполнены так:
Код |
---|
$_REQUEST['field'] = "ELEMENT_ID";
$_REQUEST['value'] = "5555"; |