我在Windows服務器上使用Helicon Ape來創建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)
你的援助表示讚賞
謝謝。
謝謝。但是這太具體了,這會導致問題。看到您在RULE中使用REQUEST_URI後,我想出了一個可行的解決方案 – imvain2