日期:2014-05-17  浏览次数:21071 次

apache顶级域名跳转

apache顶级域名跳转

?

折腾网站也有大半年了,昨天听一同事说我们的网站通过不带www的域名也可以访问,带www的也可以访问,搜索引擎的收录情况是分别收录的,

?

原来一直没关心这些细节的东西,比如我们的网站是www.dt.com,不带www就是dt.com,而不带www才是真正的顶级域名,带www的是二级域名,

?

现在负责搜索引擎收录情况的同事要求我们这边让dt.com跳转到www.dt.com,开始想到的是修改apache下面的http.conf文件,不是很懂里面的转发规则,

?

发现以前配置的转发规则都是某个二级域名跳转到指定的ip,或者是伪静态的配置,如果配置顶级域名跳转到二级域名呢?

?

apache没找到办法,又想到有个域名管理,域名管理里面有个域名转发的配置,估计现在是域名提供商在折腾,说暂时不提供转发功能。

?

今天再次搜索到apache的重写URL方式,如下:

?

Options +FollowSymLinks

RewriteEngine on

RewriteCond %{HTTP_HOST} ^dt\.com

RewriteRule ^(.*)$ http://www.dt.com/$1 [R=permanent,L]

?

在这里判断当前服务器变量HTTP_HOST是否等于dt.com,为真就进行重写,按照R=permanent进行永久重定向,L表示

?

并立即停止重写操作,并不再应用其他重写规则

?

如果不写R=permanent的话,则默认为302临时重定向,R=permanent或者R=301的话,是永久重定向。

?

参考资料:http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html#RewriteRule

http://callan.iteye.com/blog/583216