прислал заказчик инфу, что при переходе на сайт по ссылке с Яндекс.товаров сайт отдает 403 ошибку.
общение с хостером ничего не дало, начал выяснять в чем тут дело.
в url добавляется utm метка utm_referrer=https://yandex.ru/products/search?text=текст
на сервак естественно приходит перекодированный вариант вида
https://domain/path-to-product?utm_referrer=https%3A%2F%2Fyandex.ru%2Fproducts%2Fsearch%3Ftext%3D%D1%82%D0%B5%D0%BA%D1%81%D1%82
методом проб выяснил что если заменить %3F на что-то другое, то сайт вполне работает.
похоже, что обновление безопасности апача запретило использовать hex-перекодированный символ "?" в "%3F" в url.
наткнулся на такое обсуждение https://stackoverflow.com/questions/78729429/403-forbidden-when-url-contains-get-with-encoded-question-mark-unsafeallow3f
заменил в .htaccess строку
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA]
на
RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,UnsafeAllow3F]
работать то работает, но интересно насколько это безопасно и есть ли другие решения, учитывая что и php'шный urlencode и js'овский encodeURIComponent по-прежнему кодируют этот символ в %3F