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

Redirect HTTP状态410使用经典ASP的整个域,redirect,asp-classic,wildcard,status,Redirect,Asp Classic,Wildcard,Status,两个域指向我的IIS 7.5服务器。一个域服务于一个站点,另一个域我想为引用该域的任何URL返回410 Gone状态。由于我没有为410域添加DNS条目,服务器将返回IIS默认站点。我将以下内容添加到默认站点上的default.asp文件中: <% if instr(lcase(Request.ServerVariables("SERVER_NAME")),"legacy.somedomain.com") then response.Status="410 Gone" re

两个域指向我的IIS 7.5服务器。一个域服务于一个站点,另一个域我想为引用该域的任何URL返回410 Gone状态。由于我没有为410域添加DNS条目,服务器将返回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
%>
如果有人访问该域的子页面URL,则此功能正常工作,但如果有人访问则会失败。我以为上面的脚本会对请求进行通配符。是否可以修改它以捕获域和所有子页事件


目前,如果用户访问legacy.somedomain.com/somepage/将显示system 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>

但是,实际上,您最好执行永久重定向,而不是“消失”。

使用该代码设置一个自定义404页面。实际上我已经这样做了,子页面现在返回410状态。然而,我希望我不必为IIS默认站点和服务器范围为404页的410这样做。我考虑的另一个选择是为这个域创建DNS条目和托管空间。。。设置自定义404页面并实现相同的编程。因此,默认站点不受影响。另一个选项是在站点的Global.asa文件中执行410。我将使用URL重写。比自定义404页面更干净