Blast Posted October 27, 2024 at 07:37 PM Share Posted October 27, 2024 at 07:37 PM прислал заказчик инфу, что при переходе на сайт по ссылке с Яндекс.товаров сайт отдает 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 3 Quote Link to comment Share on other sites More sharing options...
Tom Posted October 28, 2024 at 04:29 AM Share Posted October 28, 2024 at 04:29 AM В схожей ситуации , данное решение предложил сам хостер. Сразу после RewriteCond %{REQUEST_URI} !.*\.(ico|gif|jpg|jpeg|png|js|css) добавить RewriteRule ^([^?]*) index.php?_route_=$1 [B,L,QSA,UnsafeAllow3F] Ну и как вариант от меня (так же нужно проверять). # Преобразование UTM-меток от Яндекс.Товаров RewriteCond %{QUERY_STRING} utm_referrer=https%3A%2F%2Fyandex\.ru%2Fproducts(.*) RewriteRule ^(.*)$ $1?utm_source=yandex&utm_medium=products [R=301,L] Применяет UnsafeAllow3F только для трафика с Яндекс. Сохраняет UTM-метки в исходном виде Не создает дополнительных редиректов Минимально влияет на существующую логику работы сайта 4 Quote Link to comment Share on other sites More sharing options...
Ник112 Posted April 9, 2025 at 04:58 AM Share Posted April 9, 2025 at 04:58 AM (edited) Добрый день. тоже проблема такая возникла, когда поменял на RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,UnsafeAllow3F] ссылки с Яндекса заработали, но перестал работать вкладка фурнитура к этой двери в карточки товара, выдает уведомление Подвердите действия на сайте. Какая причина подскажите пожайлуста Edited April 9, 2025 at 05:03 AM by Ник112 0 Quote Link to comment Share on other sites More sharing options...
Ник112 Posted April 9, 2025 at 09:31 AM Share Posted April 9, 2025 at 09:31 AM Решено #RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,BCTLS] #RewriteRule ^([^?]*) index.php?_route_=$1 [UnsafeAllow3F,L,QSA] RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,UnsafeAllow3F] 0 Quote Link to comment Share on other sites More sharing options...
Blast Posted April 9, 2025 at 03:14 PM Author Share Posted April 9, 2025 at 03:14 PM В 09.04.2025 в 12:31, Ник112 сказал: Решено #RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,BCTLS] #RewriteRule ^([^?]*) index.php?_route_=$1 [UnsafeAllow3F,L,QSA] RewriteRule ^([^?]*) index.php?_route_=$1 [L,QSA,UnsafeAllow3F] от того, что вы закомментировали 2 строки, а в 3-ей написали также как в первый раз и также, как в первом сообщении, ровным счетом ничего не изменилось. просто у вас возможно какой-то кэш сбросился и всё заработало 0 Quote Link to comment Share on other sites More sharing options...
Ник112 Posted April 11, 2025 at 10:06 PM Share Posted April 11, 2025 at 10:06 PM После обращения в хостинг норм, или в кэше непонятно, сейчас скачки непонятные 0 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.