时尚酷族

标题: 利用301重定向设置方法打开网站域名自动加www [打印本页]

作者: CooL.泪猪    时间: 2011-3-3 06:23
标题: 利用301重定向设置方法打开网站域名自动加www
要设置301重定向,首先要确定自己的虚拟主机的网站服务器是什么,然后根据您的虚拟主机服务器的类型,设置如下:
如果网站服务器是Apache,在.htaccess文件开始处加入一下规则(如果没权限修改,请联系服务提供商协助修改):
复制内容到剪贴板代码:
  1. RewriteCond %{http_host} ^coqq.net [NC]
  2. RewriteRule ^(.*)$ http://www.coqq.net/ $1 [R=301,L]
复制代码
如果网站服务器是IIS,是ISAPI_Rewrite,在httpd.ini文件开始处加入以下规则:
复制内容到剪贴板代码:
  1. RewriteCond Host: ^coqq\.net$
  2. RewriteRule (.*) http\://www\.coqq\.net$1 [R,I]
复制代码
注:以上代码www.coqq.net均为示例,如需要可改为自己的域名.
——————————————————————————————————
如果您是iis6.0的,还可以用ISAPI_Rewrite做301域名重定向,具体方法,请看:

ISAPI Rewrite确实是个好东西,我们不仅用它可以实现简单的URL重写来实现搜索引擎友好(SEF)的URL形式,还可以利用 ISAPI Rewrite 实现防盗链,今天,我们再来说一下利用ISAPI Rewrite做301永久转向。301转向(301 Redirect : Permanently Moved),表示内容永久性转移到新的URL,这样搜索引擎就会知道内容已转移,会去抓取新的URL,因此是友好的。
域名间的301转向
有时,我们会在域名解析时,创建一个空的主机名,来方便用户输入网址,而省去了www。这样虽然方便了用户,但是从SEO的角度来说,是违反了URL标准化准则的,因此,我们需要对这些不统一的URL进行301重定向。
以下规则能够将coqq.net以301重定向方式转到www.coqq.net,这样对于搜索引擎来说是友好的。
注意:本文列出的代码中包含了2.x与3.x版本2种规则,在你使用时务必确认自己使用的版本,否则是无法工作的。

  1. # For ISAPI_Rewrite 2.x
  2. RewriteCond Host: ^coqq\.net$
  3. RewriteRule (.*) http\://www\.coqq\.net$1 [I,RP]
复制代码

  1. # For ISAPI_Rewrite 3.x
  2. RewriteCond %{HTTP:Host} ^coqq\.net$
  3. RewriteRule (.*) http\://www\.coqq\.net$1 [NC,R=301]
复制代码
同样我们可以将www.coqq.net转向到www.13qq.net,道理是一样的,我们只需要对规则进行简单的修改就可以了。

  1. # For ISAPI_Rewrite 2.x
  2. RewriteCond Host: ^www\.coqq\.net$
  3. RewriteRule (.*) http\://www\.13qq\.net$1 [I,RP]
复制代码

  1. # For ISAPI_Rewrite 3.x
  2. RewriteCond %{HTTP:Host} ^www\.coqq\.net$
  3. RewriteRule (.*) http\://www\.13qq\.net$1 [NC,R=301]
复制代码
整个域名下的文件访问都将被重定向,而不仅仅是首页而已!
注释:在规则最后有[I,RP]标记,通过查阅ISAPI Rewrite 2官方使用手册我们知道,I表示忽略大小写,RP表示使用301转向
页面间的301转向
当我们改变了某些页面的地址,但是又不想损失流量,就应该使用301转向,将原来的URL重定向到新的URL上,这样搜索引擎会知道页面地址变更,而不会以为这个页面出错消失了。
规则如下:

  1. # For ISAPI_Rewrite 2.x
  2. RewriteRule ^/oldpage.htm$ http://www.coqq.net/index.html [I,O,RP,L]
复制代码

  1. # For ISAPI_Rewrite 3.x
  2. RewriteRule ^/oldpage.htm$ http://www.coqq.net/index.html [NC,L,R=301,O]
复制代码
我们将根目录下的oldpage.htm使用301转向重定向到了http://www.coqq.net/index.html,当然,我们也可以自己指定任意目的地址,可以是站内的(同样以/pagename的形式)或站点外的(以http://开头的URL形式)。
注释:这里出现的O表示对URL进行标准化,可能是用来处理Unicode编码的地址(例如包含中文的URL)以及QueryString的内容,这里我没有测试过。而L表示Last Rule,最后一条规则,也就是后面的重写规则对他不起作用,防止被其他匹配的规则再次重写而造成混乱。
最后说明一下:本文所使用的RewriteRule(重写规则)仅适合ISAPI Rewrite 2.x以及3.x版本,因为标识符(比如[I,RP])在2.0以前版本是不支持的,会在httpd.parse.errors中提示错误。而如果你使用的是ISAPI Rewrite 3.0以后的版本,那么2.x的规则是不兼容的,不过3.0版本提供了一个规则转换器,我们可以直接将2.0的规则导入,它会自动转换成3.0版本的规则。





欢迎光临 时尚酷族 (http://www.coqq.net/) Powered by Discuz! X3.2