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 匿名登录方法 登录用户匿名
感谢您的任何见解。
成功是我的!
要使其发挥作用还需要一个额外的步骤。
功能视图 > 错误页面 > 404 > 编辑功能设置
在出现的“编辑错误页面设置”对话框中,选择“自定义错误页面”,然后输入 404 处理程序的路径并将路径类型设置为“执行 URL”
注意
功能视图 > 错误页面 > 404 > 编辑
提供一个不同的对话框,也必须将其设置为“执行 URL”。我不知道为什么有两个类似的对话框都需要完成工作。但事实就是这样。
| 归档时间: |
|
| 查看次数: |
5200 次 |
| 最近记录: |