我有一个现有的网站,我需要移动到IIS 7.该网站(我不想重写)使用404错误来提供数据库中的页面。 IOW,像http://crimson/pages/myPage这样的网址导致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页面,类型设置为 执行URL
尽管如此,我收到以下错误:
HTTP Error 404.0 - Not Found The resource you are looking for has been removed, had its name changed, or is temporarily unavailable. Detailed Error InformationModule IIS Web Core Notification MapRequestHandler Handler StaticFile Error Code 0x80070002 Requested URL http://srvr:80/crimson/articles/index Physical Path C:\inetpub\wwwroot\Crimson\articles\index Logon Method Anonymous Logon User Anonymous
感谢您的任何见解。
答案 0 :(得分:2)
成功就是我的!
还需要一个额外的步骤来实现这一目标。
功能视图&gt;错误页面&gt; 404&gt;编辑功能设置
在出现的“编辑错误页面设置”对话框中,选择“自定义错误页面”,然后输入404处理程序的路径并将“路径类型”设置为“执行URL”
请注意
功能视图&gt;错误页面&gt; 404&gt;修改
提供另一个对话框,该对话框也必须设置为“执行URL”。为什么有两个类似的对话框都需要完成工作,我不知道。但就是这样。