2013-06-27 20 views
0

我通常做的htaccess如下重定向:工作某些類型的301個重定向,有些則不是

RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^pages/whyinstallr\.htm$ /why-install/? [R=301,NE,NC,L] 

在某個網站上,這些類型的重定向不工作,但是我可以用下面簡單的方法重定向:

Redirect 301 /pages/whyinstallr.htm http://www.example.com/why-install/ 

是否有一個明顯的原因,第一種類型的重定向不工作,也許在主機或類似的設置?該網站是在WordPress的,但我已經在許多許多WordPress的網站上使用第一種類型的重定向,沒有問題。

回答

0

似乎它是.htaccess條目的順序。我需要WordPress默認條目之前增加重定向,而不是之後,因爲我是之前想:

即:

RewriteEngine On 
RewriteCond %{QUERY_STRING} ^$ 
RewriteRule ^pages/whyinstallr\.htm$ /why-install/? [R=301,NE,NC,L] 

# 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] 
</IfModule> 

# END WordPress