ASP 中,我们习惯使用 Response.Redirdect 来实现页面的跳转,但是这种跳转方式的状态是 302 的,属于临时跳转,对于搜索引擎来说,是一种不友好的重定向方式。

ASP 3.0 中,有了另一种方式,即 Response.Transfer 。关于这个,可以查询相关的信息。

我们这里要讨论的是 301 跳转,例如下面的代码:

<%@ Language="VBScript" %>
<%
Response.Status = "301 Moved Permanently"
Response.AddHeader "Location", "http://www.a.cn"
%>
这种方式,对于搜索引擎来说,是永久性的,跳转后的页面的内容可以被采用。由此,想到一些人问到的,如何实现同一个空间绑定多个域名。其实,只要针对输入的域名进行识别,然后结合 301 跳转来选择目标就能很好实现。假设有域名 www.a.cnwww.b.com ,分别针对同一个空间中的 yibi 和 saodao 两个目录,那么怎么通过两个域名来自动确定访问哪个目录呢?请看下面的代码:

<%
Dim strHost = LCase(Request.ServerVariables("HTTP_HOST"))
Response.Status = "301 Moved Permanently"
Select Case strHost
    Case "www.a.cn"
        Response.AddHeader "Location",
            "http://www.a.cn/yibi/"
    Case "www.b.com"
        Response.AddHeader "Location",
            "http://www.b.com/saodao/"
    Case Else
        Response.AddHeader "Location",
            "http://www.b.com/saodao/"
End Select
%>