此问题建立在以下问题的基础上: How to get Elmah working with ASP.NET and IIS 5.1 URL Routing
解决方案建议有效,只要elmah.axd不在网站的根目录下。如果您想以此处博客保护网站该怎么办: Securely Implement ELMAH For Plug And Play Error Logging?
将elmah.axd移至/admin/elmah.axd会破坏修复IIS 5x通配符映射模块。
我的解决方法只是确保“elmah.axd”而不是“admin”,如:
<location path="elmah.axd">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
</location>
虽然这有效,但我觉得必须有一个更优雅的解决方案。有什么想法吗?
答案 0 :(得分:3)
你也可以将elmah.axd重命名为不太明显的东西。该名称可在web.config中配置。
答案 1 :(得分:1)
这与我在项目中使用的解决方案相同。任何更“优雅”的东西都会变得更加复杂和不必要。
这样做很简单,如果我是你,我会保持这样: - )
答案 2 :(得分:1)
添加到@Todd Smith的答案:
如果要重命名elmah.axd,您需要做的就是更改处理程序中的名称。
<add name="Elmah" path="ANY_NAME_YOU_LIKE.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah"/>