本文章分享给大家的是教你如何在asp中设置302和301跳转,正在学ASP的朋友们可要瞪大眼睛看好了。
常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。
ASP 中,我们习惯使用 Response.Redirdect 来实现页面的跳转,但是这种跳转方式的状态是 302 的,属于临时跳转,对于搜索引擎来说,是一种不友好的重定向方式。
ASP 3.0 中,有了另一种方式,即 Response.Transfer 。关于这个,可以查询相关的信息。
我们这里要讨论的是 301 跳转,例如下面的代码:
<%@ Language="VBScript" %>
<%
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", http://www.gzse7en.com
%>
这种方式,对于搜索引擎来说,是永久性的,跳转后的页面的内容可以被采用。由此,想到一些人问到的,如何实现同一个空间绑定多个域名。其实,只要针对输入的域名进行识别,然后结合 301 跳转来选择目标就能很好实现。假设有域名 www.seo-8.com 和 http://www.gzse7en.com,分别针对同一个空间中的 div_css 和 div_css 两个目录,那么怎么通过两个域名来自动确定访问哪个目录呢?请看下面的代码:
<%
Dim strHost = LCase(Request.ServerVariables("HTTP_HOST"))
Response.Status = "301 Moved Permanently"
Select Case strHost
Case "www.seo-8.com"
Response.AddHeader "Location",
"http://www.gzse7en.com/div_css"
Case "www.div-css.net"
Response.AddHeader "Location",
"http://www.gzse7en.com/div_css"
Case Else
Response.AddHeader "Location",
"http://www.gzse7en.com/div_css"
End Select
%>