虚拟主机301重定向方法
301重定向可将多个域名权重转移到特定的域名,以增强独一无二的域名权重分配。另一方面便是在域名更换后,使用301重定向可将旧的域名权重,重新定向到新的域名之上。由此301重定向得以了广泛的运用。尤其是在网站建设过程中常常将出现的“二级域名、三级域名、顶级域名”定向到特指的带有三“W”的二级域名上。然而由于程序语言的不同、服务器操作系统不同、网站运行环境不同等等的因素,造成“301定向的多样错乱性”。在实际操作中往往因为多重问题的原因,无法正确的将网站做到定向。今天便全面的写一下在不同环境中,网站如何做好301重定向的经验总结分析:
一:Linux系统的虚拟主机
用记事本建设一个文件,其内容为:
RewriteEngine on
RewriteCond %{http_host} ^*****.com [NC]
RewriteRule ^(.*)$ http://www.*****.com/$1 [L,R=301]
之后保存文件名为:“.htaccess”,若虚拟主机支持的话,那么301重定向便正确得以实施。针对程序:无限制!
二:NT系统中的虚拟主机
相对于NT系统做301重定向,其要求要比linux系统苛刻的多,不过相对来说方法也有很多:
1、iis7.0以下系统,ASP语言:
<%@ Language=VBscript %>
<%
Response.Status=”301 Moved Permanently” Response.AddHeader “Location”,”http://www.****.com”
%>
可在要做重定向的页面头部加入如上内容,全站301可加到诸如:top.asp、conn.asp等通用文件之中。
2、IIS7.0一下系统,PHP语言:
Header( “HTTP/1.1 301 Moved Permanently” );
Header( “Location: http://www.domain.com” );
?>
注:HTML页面无法添加301重定向代码,仅支持JS跳转或META REFRESH,而对于HTML跳转,更多时候显示的结果常为“302”临时定向,易被搜索引擎认为作弊论处。
3、IIS7.0以上操作系统
跟目录下可建立“web.config”文件,继而进行301的重定向:
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name=”WWW Redirect” stopProcessing=”true”>
<match url=”.*” />
<conditions>
<add input=”{HTTP_HOST}” pattern=”^***.****.com$” />
</conditions>
<action type=”Redirect” url=”http://www.*****.com/{R:0}”
redirectType=”Permanent” />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
三:不区分系统的301重定向
不区分操作系统的301重定向,首先建设一个“子目录”名为“301”,然后用TXT记事本建立一个文件:
<%@ Language=VBscript%>
<%Response.Status=”301 Moved Permanently”
Response.AddHeader “Location” ,”www.*****.com”
%>
最后将文件名保存为“index.asp”,当然需要虚拟主机支持首页的默认文档。之后将需要做转向的域名如:“admin5.com”绑定到子目录“301”。接下来,在刷新一下,看是否已经做了301重定向了呢?但未经深度测试,不知是否不利于优化。二进制曾以此观察,几天中未发现异常。
本文仅对虚拟主机的301重定向做了一个较为说明,希望对广大使用虚拟主机的站长来说有所帮助。而对于独立服务器或VPS站长,完全可以通过服务器的设置来定义301,对此也就不做过多说明了。虚拟主机设置301不同环境下,需要不同对待,设置错误易导致不可预料的结果产生。同时设置完毕,笔者推荐广大站长使用“301重定向检测工具”做一个测试,若返回代码为“301”则定向成功,而一旦返回302的话,则需认真对待了。不过使用如上代码也不会返回302,更多时候则为静态页面中使用跳转后返回的302临时定向。