将domain.com重定向到www.domain.com

时间:2011-06-23 15:03:59

标签: .htaccess mod-rewrite url-rewriting

我想将所有请求重定向到http://domain.comhttp://www.domain.com,因此我使用以下.htaccess放置在我的网站的根目录中:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=permanent,L]

这非常好用,除了在我执行更多URL重写的子文件夹中:

RewriteEngine on
RewriteBase /articles/
RewriteRule ^(.+)$ index.php [L]

如果我输入网址,事实上没有任何反应:http://domain.com/articles/article.html 预期的行为是重定向到http://www.domain.com/articles/article.html

实现结果的最佳方法是什么?

由于

2 个答案:

答案 0 :(得分:4)

在完成本地.htaccess处理规则后,您需要使用RewriteOptions指令告诉Apache使用父文件夹中的.htaccess:

RewriteOptions inherit

但父级规则将在本地后处理...您可能不喜欢(因此结果网址可能看起来像http://www.domain.com/articles/index.php,这将在地址栏中显示)。

理想情况下,您希望将所有内容都移到单个.htaccess中 - 如果可以的话。

答案 1 :(得分:0)

如果你把它放在子文件夹中,我认为这应该可行:

RewriteBase /articles/
RewriteCond %{http_host} ^website\.com [nc]
RewriteRule ^(.*)$ http://www.website.com/articles/$1 [R=301,NC]