首页 > 编程学习 > 用301重定向实现网站不带www与www域名的跳转

用301重定向实现网站不带www与www域名的跳转

网站解析上线之后一般会有带www的和不带www的两个,通常未做任何处理搜索引擎会索引两个域名,而网站的权重也会随着域名的分散而分散。解决此问题的办法通常是通过301重定向来实现的。我这里主要说一下windows主机,用IIS架设的服务器通过Rewrite组件来实现的办法,当然一般Apach主机是通过修改.htaccess文件来到到目的的,其他还可以通过域名解析或者有服务器操作权限直接在系统管理员配置区完成301重定向。

对于windows主机,若服务器支持Rewrite重写可以在网站根目录外一般叫做other的文件夹,在下面找httpd.conf文件,用记事本打开该文件,并在下面写入如下代码(请将域名换成自己的域名)

  1. RewriteCond %{HTTP:Host} ^guangboju.net$   
  2. RewriteRule (.*) http://www.guangboju.net$1 [NC,R=301]  

这条规则的意思是,如果访问是guangboju.net,就跳转为www.guangboju.net。
如果一个站点上绑定了很多域名,全部都要跳转到一个,则第一行就要修改为

  1. RewriteCond %{HTTP:Host}  !^www.waiting8.com  

意思是如果不是www.waiting8.com就跳转到www.guangboju.net。
如果绑定了多个,如
①waiting8.com
②www.waiting8.com
③guangboju.net
④www.guangboju.net
仅仅不带www的跳转到对应www的,则添加两组规则即可:

  1. RewriteCond %{HTTP:Host} ^guangboju.net$   
  2. RewriteRule (.*) http://www.guangboju.net$1 [NC,R=301]   
  3. RewriteCond %{HTTP:Host} ^waiting8.com$   
  4. RewriteRule (.*) http://www.waiting8.com$1 [NC,R=301]