我在web.config中设置了404处理程序页面,但只有当URL的扩展名为.aspx(或其他由ASP.NET处理)时,它才有效.我知道我可以在网站选项中设置静态HTML页面,但我想要一个页面.是否有任何选项可以为IIS中的所有请求扩展分配ASPX处理程序页面?
直接的问题是,是否有选项将ASPX处理程序分配给所有请求扩展:是的,有.我将很快讨论如何做到这一点.
首先,我认为"隐藏"的问题 - 你真正想要的答案 - 是否有一种方法可以重定向ASPX,ASMX等以外的所有404错误.是的,有,这是更好的选择它是否能解决您遇到的问题.
要重定向IIS 6中的所有404,请右键单击您的Web应用程序根目录(无论是自己的站点还是主站点中的虚拟目录),然后选择"属性".从那里,选择"自定义错误"选项卡.在列表中找到404并将其更改为您想要的重定向.
现在,如果这还不够 - 我真的希望它 - 是的,你可以通过ASPX处理程序运行每一页.然而,这样做在效率方面成本相当高 - 原始HTML /图像服务比任何动态都要快得多.
为此,请右键单击Web应用程序根目录,然后选择"属性".选择"主目录"选项卡.单击"配置"; 将弹出一个新窗口.从其中一个ASP.NET页面服务器复制路径,然后将其用于通配符应用程序映射.
请记住,大多数情况下,这是错误的答案.它会对你的表现产生负面影响,相当于使用电锯来雕刻火鸡.我强烈推荐第一个选项,如果它适合你.