我有 404.aspx 来管理对不存在页面的请求。它在 IIS6 上完美运行,但现在我必须将其移至 IIS7。该网站使用 .net 2.0 经典的 32 位 AppPool,没有 MVC。
像这样的非 .net 请求test.com/NotExist
得到了很好的管理,但是我对test.com/NotExist.aspx
.net 错误页面的配置有如下问题:
<customErrors defaultRedirect="/404.aspx" mode="On">
<error redirect="/404.aspx" statusCode="404" />
</customErrors>
它可以工作,但会将 url 转换为test.com/404.aspx?aspxerrorpath=/NotExist.aspx
我必须避免这个 url 更改,所以我用谷歌搜索我必须更改一行:
<customErrors defaultRedirect="/404.aspx" mode="On" redirectMode="ResponseRewrite">
但它显示默认错误消息而不是结果:
“/”应用程序中的服务器错误。无法找到该资源。说明:HTTP 404。您要查找的资源(或其依赖项之一)可能已被删除、名称已更改或暂时不可用。请查看以下 URL 并确保其拼写正确。
我检查了https://stackoverflow.com/questions/12463412/responserewrite-redirect-mode-is-not-working和CustomErrors 在设置 redirectMode="ResponseRewrite"和customErrors with redirectMode="ResponseRewrite" 时不起作用在共享托管,但没有运气。
请帮忙。