Я использую Helicon Ape на Windows Server для создания файлов htaccess.Удалить скобки из htaccess (Helicon Ape)
Первоначально, часть более широкого набора условий, я установил это условие для возврата 403, если url содержал(). Однако это является причиной ложных срабатываний в случае Mailchimp кодов отслеживания, которые в конечном итоге получить завернутый в()
RewriteCond %{QUERY_STRING} ^.*(\[|\]|\(|\)|<|>).* [NC,OR]
Например, в приведенной ниже URL
http://domain.com/page/11/page-name?ct=t(Newsletter_Tracking)
В качестве альтернативы я пытался удалить скобки и перенаправить на «очищенную версию».
Я пробовал несколько разных вещей, которые я нашел в SO, но никто не работал.
До сих пор ближе всего, что я мог добраться до работы заключается в следующем:
RewriteCond %{REQUEST_URI} [\(\)]+ [OR] RewriteCond %{QUERY_STRING} [\(\)]+ RewriteRule ^(.*)[\(]+([^\)]*)[\)]+(.*)$ $1$2$3 [R=301,L]
Проблема с выше код, который работает, если() были в URL, но не запрос строка. Он не перенаправляет и не очищает запрос.
Так что это будет работать: http://domain.com/page/11/pag(e-name)
, но это не так: http://domain.com/page/11/page-name?ct=t(Newsletter_Tracking)
Ваша помощь ценится
Спасибо.
Спасибо. Однако это слишком специфично, что может вызвать проблемы. Я придумал рабочее решение, увидев использование REQUEST_URI в ПРАВИЛЬНОМ – imvain2