IIS 7中又出现了404页面问题

5
我需要将现有的网站迁移到IIS 7,但不想重新编写该网站。该网站使用404错误从数据库中提供页面。也就是说,像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" />

CustomErrors的格式如下:

<customErrors mode="Off" defaultRedirect="url">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="/site404.aspx" />
    </customErrors>

在网站的错误页面选项卡中,将404映射到aspx页面,并将类型设置为Execute URL。
然而,我收到以下错误信息:
HTTP Error 404.0 - Not Found 您要查找的资源已被删除、更改名称或暂时不可用。详细的错误信息模块IIS Web Core 通知MapRequestHandler 处理程序StaticFile 错误代码0x80070002 请求的URL http://srvr:80/crimson/articles/index 物理路径C:\inetpub\wwwroot\Crimson\articles\index 登录方法匿名 登录用户匿名
感谢任何见解。
1个回答

2

成功就在我手中!

还需要额外的步骤才能使其工作。

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

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

请注意

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接