2014-01-23 163 views
1

我想通了如何重定向我的朋友老博客檔案到他的新WordPress的檔案與的.htaccess這樣的:301重定向忽略URL參數

RewriteEngine On 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 

#Redirect to WP archive 
RedirectMatch 301 ^/([0-9]{4})_([0-9]{2})_([0-9]{2})_archive.html$ /$1/$2/$3 

但是,如果一個人試圖訪問一箇舊存檔與參數m = 1(http://www.mydomain.com/2010_04_01_archive.html?m=1),它不重定向!我們想忽略所有可能的參數,並將其重定向如上只是,到http://www.mydomain.com/2010/04/01/

嘗試這樣做,但它不工作:

RewriteEngine On 

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteBase/
RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 

# END WordPress 

RewriteCond %{QUERY_STRING} ^(.*)$ 
RewriteRule ^/([0-9]{4})_([0-9]{2})_([0-9]{2})_archive.html$ /$1/$2/$3 [R] 

感謝您的幫助! 阿曼達

回答

0

試試這個代碼:

# BEGIN WordPress 
<IfModule mod_rewrite.c> 
RewriteEngine On 
RewriteBase/

RewriteRule ^([0-9]{4})_([0-9]{2})_([0-9]{2})_archive\.html$ /$1/$2/$3? [L,R=301,NC] 

RewriteRule ^index\.php$ - [L] 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 
</IfModule> 
# END WordPress 
+0

這工作!非常感謝 - 問題解決了! – user3220614

+0

很高興知道,你現在可以將答案標記爲已接受。 – anubhava

0

刪除第一個/和$。

RewriteRule ^([0-9]{4})_([0-9]{2})_([0-9]{2})_archive.html /$1/$2/$3 [R=301] 
+0

謝謝,但這沒有奏效...... – user3220614

+0

您還需要在開始時刪除/。 (我編輯了我的答案) – Robalni