IIS 7 中的另一个 404 页面问题

Jon*_*Jon 5 asp.net iis-7 http-status-code-404

我有一个现有的网站,我需要迁移到 IIS 7。该网站(我不想重写)使用 404 错误来提供数据库中的页面。IOW,像http://crimson/pages/myPage这样的 url会导致 404,然后转到 site404.aspx,后者从数据库生成 html。

在 IIS6 中,我设置了一个映射到 aspnet_isapi.dll 的通配符处理程序,并将 404 映射到指向我的 site404.aspx 并且一切正常。

我在带有 IIS 7 的新开发服务器上做了同样的事情,但无法让它工作。

我正在使用 Classic.net AppPool 通配符处理程序看起来像这样

<add name="WildCardHandler" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness64" />
Run Code Online (Sandbox Code Playgroud)

CustomErrors 看起来像这样:

<customErrors mode="Off" defaultRedirect="url">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="/site404.aspx" />
    </customErrors>
Run Code Online (Sandbox Code Playgroud)

在站点的错误页面选项卡上,404 映射到 aspx 页面,类型设置为执行 URL

尽管如此,我收到以下错误:

HTTP 错误 404.0 - 未找到
您要查找的资源已被删除、更名或暂时不可用。详细错误信息Module IIS Web Core
通知 MapRequestHandler 
处理程序静态文件 
错误代码 0x80070002 
请求的 URL http://srvr:80/crimson/articles/index 
物理路径 C:\inetpub\wwwroot\Crimson\articles\index 
匿名登录方法 
登录用户匿名 

感谢您的任何见解。

Jon*_*Jon 2

成功是我的!

要使其发挥作用还需要一个额外的步骤。

功能视图 > 错误页面 > 404 > 编辑功能设置

在出现的“编辑错误页面设置”对话框中,选择“自定义错误页面”,然后输入 404 处理程序的路径并将路径类型设置为“执行 URL”

注意

功能视图 > 错误页面 > 404 > 编辑

提供一个不同的对话框,也必须将其设置为“执行 URL”。我不知道为什么有两个类似的对话框都需要完成工作。但事实就是这样。