我设置了404处理器页在web.config中,但它的工作原理,只有当URL的扩展的.aspx(或其他这是由ASP.NET处理)。 我知道我可以设置静态的HTML页面在网站的选择,但我希望有一个页面。 是否有任何选项来指定ASPX页面的处理程序在IIS的所有要求扩展?
Answer 1:
直接的问题是,是否存在未选择指定的ASPX处理所有要求扩展:是的,有。 我将讨论如何做到这一点很快。
首先,我认为,“隐藏”的问题-你真的想要的答案-是,是否有一种方法来重定向所有的404错误比ASPX,ASMX等是的,有其他页面,这是更好选择,如果它会解决您遇到的问题。
要重定向在IIS 6的所有404,右键点击你的Web应用程序根目录(无论是其自己的网站或在主站点的虚拟目录),并选择“属性”。 从那里,选择“自定义错误”选项卡。 在列表中找到404并将其更改为你想要的重定向。
现在,如果这是不够的 - 我真的希望它 - 是的,你可以通过ASPX处理器运行的每一页。 然而,这样做来在效率方面相当高的成本 - 原始的HTML /投放的图片是比什么动态快得多。
要做到这一点,右键点击你的Web应用程序根目录,然后选择“属性”。 选择“主目录”选项卡。 点击“配置”; 一个新的窗口会弹出。 路径从ASP.NET页面提供的一个副本,然后将其用于通配符应用程序映射。
请记住,同样,这是错误的答案大部分时间。 这将您的性能产生负面影响,而且是用电锯雕刻火鸡的等价物。 我强烈推荐的第一个选项在这一个,如果将制定出适合您。
Answer 2:
有关信息:
这是几个漂亮的事情之一IIS7带来的-对任何文件目录和文件级安全(基于相同的web.config中的东西,对于ASP -有效-所有页面都经过处理,这样你可以做定制404和路由.NET文件之前IIS7)。
所以理论上“使用II7”是一个答案(将及时“的”答案) - 但当然它不是,如果你不托管/ W2K8上(或更高版本)正在举办一个非常实用的。
Answer 3:
web.config中只能设置错误页由其控制的网站页面。 如果你有ASP.Net应用程序的范围以外的任何其他页面,那么你在IIS中设置为它们处理。 那里面有配置的404页面,您可以将它指向您的自定义页面的选项。
Answer 4:
唯一的其他东西我能想到的是通过所有的扩展asp.net。
这样,所有类型的文件得到通过asp.net处理和你的自定义错误页会工作。
Answer 5:
在IIS应用程序配置,您可以设置一个通配符映射到C( “*”):\ WINDOWS \ Microsoft.NET \框架\ V2.0.50727 \ ASPNET_ISAPI.DLL
Answer 6:
您可以在IIS中设置通配符映射(应用程序配置/映射/通配符映射/ - 刚刚成立ASPNET_ISAPI.DLL为可执行,并取消确认文件是否存在盒),将路由所有传入的请求到您的应用程序 - 这样你就可以控制行为直接从它。
您没有设置静态页面的IIS应用程序的设置。 恕我直言,你应该能够将在特定的服务器错误的情况下,作为着陆页从您的应用程序设置有效的URL(如/error_handler.aspx)。
Answer 7:
在IIS中,您可以设置自定义错误404错误,直接连接在站点属性中的URL。
它显示了默认为C一个静态的html:\ WINDOWS \帮助\ iisHelp \ COMMON \ 404b.htm
你可以将其更改为您的网站相对URL。