经典的asp response.redirect到适当的页面

时间:2013-04-30 05:10:24

标签: asp-classic

我创建了一个.html维护文件,我想当有人去网站重定向到维护文件夹/ index.html

我的代码:(根目录下的default.asp)

<%
   If InStr( UCase(Request.ServerVariables("SERVER_NAME")),  UCase("abc.com") ) > 0   Then 
       Response.Redirect("/maintenance/")      
   ElseIf InStr( UCase(Request.ServerVariables("SERVER_NAME")),  UCase("web.com") ) > 0 Then 
       Response.Redirect("/web/") 
   End If

 %>

它工作正常,如果我去abc.com但是如果我输入abc.com/blog它会进入博客页面。我如何防止它不会转到任何子文件夹。

2 个答案:

答案 0 :(得分:0)

也许使用Request.ServerVariables["HTTP_HOST"]可以解决您的问题。

您是否尝试使用Request.ServerVariables("SERVER_NAME")查看变量Response.Write,以了解检查字符串失败的原因?

答案 1 :(得分:0)

您使用此“test&gt; do”方法,而不是仅关闭网站并创建自定义404.html网页,原因如下: (1)您的网站通过各种域名接听电话,您希望其中一些能够正常工作,而不是其他域名;要么 (2)您刚才没有考虑使用404方法?

无论如何,如果你想通过代码来实现它,那么把它放在页面的最顶端(在标题之前非常重要),或者甚至使用这个AS你的index.asp或default.asp页面:

<%
s_url = Request.ServerVariables("server_name")
s_url = lcase(s_url)
b_found = InStr(1,s_url, "abc.com",1)
if (b_found <> 0) then
    response.redirect("/maintenance/")
end if
%>