redirectMode =“ResponseRewrite”不起作用

时间:2013-06-11 16:08:03

标签: asp.net redirect iis-7 custom-errors redirectmode

我有404.aspx来管理对不存在页面的请求。 它在IIS6上运行完美,但现在我必须将其移至IIS7。该网站使用.net 2.0经典32位AppPool,没有MVC。

test.com/NotExist这样的非网络请求管理得很好,但我遇到了test.com/NotExist.aspx这样的网址问题 我已经配置了.net错误页面如下:

<customErrors defaultRedirect="/404.aspx" mode="On">
   <error redirect="/404.aspx" statusCode="404" />
</customErrors>

并且有效但将网址转换为test.com/404.aspx?aspxerrorpath=/NotExist.aspx

我必须避免这个网址更改所以我用Google搜索我必须更改一行:

<customErrors defaultRedirect="/404.aspx" mode="On" redirectMode="ResponseRewrite">

但它显示默认错误消息而不是结果:

  '/'应用程序中的服务器错误。   无法找到该资源。   说明:HTTP 404.您要查找的资源(或其中一个依赖项)可能已被删除,名称已更改或暂时不可用。请查看以下网址,确保拼写正确。

我检查了https://stackoverflow.com/questions/12463412/responserewrite-redirect-mode-is-not-workingCustomErrors does not work when setting redirectMode="ResponseRewrite"以及customErrors with redirectMode="ResponseRewrite" do not work on shared hosting,但没有运气。

请帮忙。

1 个答案:

答案 0 :(得分:0)

处理程序映射 - &gt; * .aspx(我有四个,一个名为“PageHandlerFactory-ISAPI-2.0”) - &gt;编辑 - &gt;请求限制。

我们已经关闭了“仅在调用处理程序.....”复选框。现在它已打开并选择“文件”单选按钮。