日期:2014-05-17 浏览次数:20805 次
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