经典 ASP 自定义 404 重定向在 Firefox 或 IE11 中不起作用

Classic ASP Custom 404 Redirect Isn't Working In Firefox or IE11

我正在为专用于 auto/motorcycle 销售的专有 CMS 构建自定义 404 响应页面。我 运行 遇到的问题是,有时 Google 会为经销商库存中的某个单元建立一个页面索引,但此后已被删除,所以我正在为这些建立一个自定义 404 页面实例。我的问题是在保留 404 状态的同时进行重定向。

该页面是用经典语言编写的 ASP。长话短说,IIS 将 404 状态重定向到我正在使用的自定义 ASP 页面,然后将其定向到我的 404 页面......我的想法是,只有当 404 来自一个页面时,它才会显示我的页面缺少库存,然后在其他页面上表现正常。

经过几天的努力整理后,Chrome 中的代码如下:

<% 
  Response.Status = "404 Not found"
%>
<script language="JScript" ruant="server">
    window.location = window.location.origin + "/src/xInventory404.asp";
</script>
<%
    Response.End
%>

问题是这在 Firefox 或 Internet Explorer 11 中不起作用,除非我删除 Response.Status,但如果我这样做,我将失去 404 状态。我不能只使用 Response.Redirect,因为它会丢失 404 并插入一个 302,我不希望出于 SEO 目的。我也试过 Server.ExecuteServer.Transfer,即使在 Chrome 中也没有用。

几周来我一直在研究这个问题,但我在网上看到的任何东西都没有帮助,所以我想看看这里是否有人有其他我可以尝试的想法。有人有什么想法或建议吗?

好的,所以这最终变成了一个双重问题...Firefox 的问题是因为我有 <script language="JScript">,将其更改为 <script language="JavaScript"> 解决了我的问题...根据John 的评论,我从组合中删除了 runat="server",看起来这两件事的结合是这里的秘诀。

IE 11 更棘手...原来问题实际上不是我的代码。 IE 有一个显示友好的 http 错误的设置,当我取消选中该选项时它也开始工作。关于客户端浏览器设置,我真的无能为力,所以这有点浪费,但至少我知道是什么原因造成的……在这一点上,仍在使用 IE 11 的人数应该相对较少,所以我很好有了它。

再次感谢您的见解,它确实有助于有一些不同的思考途径,而不是停留在最初将我带到这里的循环思维中。