在htaccess中为我现有的规则添加重写规则

时间:2012-06-27 06:29:02

标签: apache .htaccess

我当前的htaccess文件是这样的:

RewriteEngine On
RewriteCond  %{REQUEST_FILENAME} !-f
RewriteCond  %{REQUEST_FILENAME} !-d
RewriteBase /
RewriteRule ^(.*)$ /index.php?$1 [L]

我想添加另一个规则,使用301重定向将www.example.com重定向到http://example.com。我知道我需要添加的规则是

RewriteCond %{HTTP_HOST} ^www.example.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]

但是我在哪里添加这个?我是将它附加到当前文件的末尾,还是将所有条件放在一起,然后将所有规则放在一起?

1 个答案:

答案 0 :(得分:5)

是的,您可以追加, [L] 代表最后一条规则,因此首先使用重定向 [L,R = 301]

在您的案例中使用以下代码

RewriteCond %{HTTP_HOST} !^www.example.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [L,R=301]