Этот вопрос основан на следующем вопросе: Как заставить Элму работать с ASP.NET и IIS 5.1 URL Routing
Предлагаемое решение работает, пока elmah.axd находится вне корня сайта. Что делать, если вы хотите защитить сайт, как указано здесь: Безопасное внедрение ELMAH для регистрации ошибок Plug and Play ?
Перемещение elmah.axd в /admin/elmah.axd нарушает работу модуля Fix IIS 5x Wildcard Mapping.
Мой обходной путь - просто защитить "elmah.axd" вместо "admin", например:
<location path="elmah.axd"> <system.web> <authorization> <deny users="?"/> </authorization> </system.web> </location>
Хотя это работает, я чувствую, что должно быть более элегантное решение. Есть мысли?
Вы также можете переименовать elmah.axd во что-то менее очевидное. Имя настраивается в вашем файле web.config.
Добавить к ответу @Todd Smith:
Если вы хотите переименовать свой elmah.axd, все, что вам нужно сделать, это изменить имя в обработчике.
<add name="Elmah" path="ANY_NAME_YOU_LIKE.axd" verb="POST,GET,HEAD" type="Elmah.ErrorLogPageFactory, Elmah"/>
Это то же решение, которое я использую в своих проектах. Что-нибудь еще более "изящное" было бы намного более сложным и ненужным.
Это делает трюк и просто, я бы сохранил это, если бы я был тобой: -)