让IIS 6以经典ASP编程返回特定的HTTP状态代码

时间:2011-01-03 17:02:19

标签: asp-classic iis-6 http-headers http-status-code-404

我搜索过,但找不到合适的答案。

我有一个自定义的404页面,当被触发时:

  1. 解析请求的URL以获取特定字符串
  2. 检查数据库中的此值
  3. 根据db
  4. 返回的结果插入特定的HTTP标头

    根据具体情况,我会将其发送到浏览器:

    Response.AddHeader "Location", a_dynamic_url
    Response.Status = "301 Moved"
    

    当在我的数据库中找到特定字符串时,客户端浏览器通过加载我在位置标题中设置的动态URL来按照需要运行。

    这是我的问题......

    当我的数据库中的特定字符串未找到时,我无法将状态设置为“404 Not Found”并在浏览器中显示自定义HTML。

    我可以同时执行其中一项,但不能同时执行。它可以是404状态,也可以是自定义HTML(状态为200)。

    相反,如果你在Firefox中使用HTTP Fox来查看请求/响应头,那么导航到一个未知的bit.ly URL(如:“bit.ly/asdfasdf”),返回的状态是404,HTML是定制

    关于如何使用经典ASP对IIS 6进行相同操作的任何想法?

1 个答案:

答案 0 :(得分:2)

您是否了解“IE友好错误”以及您的HTML需要确保将HTML(而不是IE的友好状态消息)显示给您的用户所需的512字节内容?

http://weblogs.asp.net/scottgu/archive/2006/04/09/442332.aspx