2013-04-27 37 views
1

我的一個網站被黑客入侵,之後,成千上萬個網址出現。重定向垃圾郵件查詢字符串URL後創建的文件

我想編輯我的htaccess,以便所有具有/?x =的url都被重定向到沒有查詢字符串的頁面。

該網站是一個詞的新聞網站,所以不能重定向所有的網址與查詢字符串或網站停止正常工作。

基本上我需要:

www.example.com/?x=spamurl 

重定向到

www.example.com 

而且包括任何深頁X =

www.example.com/category/?x=spamurl 

重定向到

www.example.com/category/ 

這是我目前的htaccess

# BEGIN WordPress 
    <IfModule mod_rewrite.c> 
    RewriteEngine On 
    RewriteBase/
    RewriteRule ^index\.php$ - [L] 
    RewriteCond %{REQUEST_FILENAME} !-f 
    RewriteCond %{REQUEST_FILENAME} !-d 
    RewriteRule . /index.php [L] 
    RewriteCond %{QUERY_STRING} x= 
    RewriteRule ^$ http://www.example.com/? [R=301,L] 
    </IfModule> 

    # END WordPress 

正如你可以看到我已經成功地得到任何網址?X =後的主URL重定向到主網頁,但我無法弄清楚如何做到這一點的時候?x =顯示類別頁面等。

是否有編碼可以將包含?x =的所有URL重定向到404頁面而不會導致wordpress文件出現問題?

非常感謝

斯科特

回答

0

您需要你的WordPress規則,以你的重定向規則移到。您還需要匹配任何即將URI:

RewriteCond %{QUERY_STRING} ^(.*)(^|&)x=[^&]+(.*)$ 
RewriteRule ^(.*)$ /$1?%1%3 [R=301,L] 

# BEGIN WordPress 
etc... 

這將刪除在x =一些參數,如果其他參數之前或之後有,這些被保留。