HTTP 状态 410 整个域使用经典 ASP

HTTP status 410 entire domain using classic ASP

两个域指向我的 IIS 7.5 服务器。一个域服务于一个站点,另一个域我想 return 引用该域的任何 URL 的 410 Gone 状态。因为我没有为 410 域添加 DNS 条目,服务器 returns 是 IIS 默认站点。我将以下内容添加到默认站点上的 default.asp 文件中:

<%
if instr(lcase(Request.ServerVariables("SERVER_NAME")),"legacy.somedomain.com") then
    response.Status="410 Gone"
    response.Write(response.Status)
    response.End
end if
%>

如果有人访问 http://legacy.somedomain.com however it fails if someone visits http://legacy.somedomain.com/somepage/,域的子页面 URL:,这将正常工作。我认为上面的脚本会通配请求。是否可以对其进行修改以捕获域和所有子页面的出现?

目前,如果用户访问legacy.somedomain.com/somepage/,则显示系统404页面。

在web目录下创建一个Global.asa文件,代码如下

<script language="vbscript" runat="server">

sub Session_OnStart
    Session("started")=now()
end sub

sub Session_OnStart
    if instr(lcase(Request.ServerVariables("SERVER_NAME")),"legacy.somedomain.com") then
        response.Status="410 Gone"
        response.Write(response.Status)
        response.End
    end if    
end sub

</script>

然而,您实际上最好进行永久重定向而不是 Gone。