我尝试使用 HttpForbiddenHandler 来阻止文件但没有成功。web.config 如下:
<httpHandlers>
<add verb="*" path="*.ashx" type="Castle.MonoRail.Framework.MonoRailHttpHandlerFactory, Castle.MonoRail.Framework"/>
<add verb="*" path="*.vm" type="System.Web.HttpForbiddenHandler"/>
</httpHandlers>
我也设置了虚拟目录以将 .vm 请求转发到 aspnet_isapi.dll。基本上我遵循了这个指南:http: //support.microsoft.com/kb/815152
知道为什么它不起作用吗?我正在使用 Windows XP + IIS 5.1 对其进行测试。
更新:进一步的诊断测试把我推到了地狱。我尝试删除 ISAPI 列表中的 .config 绑定,正如预期的那样,该文件已被提供。我将所有内容都添加回来,这一次,它没有显示“未提供文件类型”,而是显示“没有为请求类型“GET”找到 http 处理程序!我完全被激怒了,这只是用于 XP 的 IIS 5.1 还是我做了一些可疑的事情?不,我只是对此感到害怕-当我进行故障排除时,我尝试使用 . 但是 .vm 未被阻止的问题仍然存在。