如何使用mod_rewrite将请求重定向到example.com到www.example.com?

时间:2009-11-02 20:27:59

标签: .htaccess mod-rewrite

这是我的.htaccess,由wordpress生成,位于我的根目录中。

我需要修改/添加它,将所有传入流量定向到 www.example.com ,而不是 example.com

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

如果有人想解释上述所有内容,也会受到赞赏。

1 个答案:

答案 0 :(得分:3)

要执行您要求的操作,您需要添加:

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

您可以将其放在<IfModule mod_rewrite.c>

之后的RewriteBase括号中

至于Wordpress的htaccess代码做了什么(没有测试它):它似乎测试任何直接链接到文件和目录,而不是通过RewriteRule传递它们,这通常会将你的链接发送到索引。 PHP

因此,如果你的链接是www.mysite.com/some/page,它确保/ some / page不是直接文件链接或实际的web目录,如果不是,则它会传递请求index.php解析它以显示正确的Wordpress页面。