2014-12-07 118 views
1

如果這已經回答了類似的問題,我提前道歉。我試圖阻止與查詢字符串,看起來像這樣的請求:wordpress htaccess阻止查詢字符串

?alt_id=nnnn&alt_ts=&alt_ts=&alt_ts...

其中nnnn是一些數字和...表示&alt_ts=重複無數次。

,而不是測試此特定的查詢字符串,我想測試只是&alt_ts=&alt_ts就足夠一個好的開始,所以我說這個規則爲.htaccess,但它不工作:

<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{QUERY_STRING} ^.*(&alt_ts=&alt_ts).* [NC] 
RewriteRule ^(.*)$ - [F,L] 
</IfModule> 

但是,它不起作用。我希望有一個可以解決這個問題的htaccess專家。謝謝。

這是我目前的.htaccess文件,修改由anubhava的建議:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteCond %{QUERY_STRING} ^alt_id=[^&]+&alt_ts= [NC] 
RewriteRule^- [F,L] 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

回答

3

您可以使用:

RewriteEngine On 

RewriteCond %{THE_REQUEST} \s/+[^?]*\?alt_id=[^&]+&alt_ts= [NC] 
RewriteRule^- [F,L] 

確認這是第一個規則略低於RewriteEngine線您的主要WP .htaccess文件。

+0

感謝您的建議,但它不工作。我在瀏覽器地址欄輸入'domainname.com/page-name/?alt_id = 1&alt_ts =',並顯示'domainname.com/page-name' – yitwail 2014-12-07 07:53:59

+0

我在我的問題中添加了修改後的.htaccess文件。謝謝 – yitwail 2014-12-07 08:15:57

+1

工作!感謝百萬:)任何想法爲什麼我們以前的嘗試失敗? – yitwail 2014-12-07 08:50:05