这可能是有关 IIS 7 的一个基本问题。我目前在本地计算机上的 IIS 7 上运行了一个网站。我注意到,当我输入以下形式的 URL 时http://localhost/styles/default.css,我的 Web 浏览器将在记事本中打开 css 文件。但是,如果我使用虚构的不存在的文件扩展名,IIS 会尝试将请求转交给我的网站,而我的网站恰好是一个 asp.net mvc 应用程序。由于资源不存在,Web 应用程序会抛出错误。我知道 IIS 中的请求过滤可以阻止指定的文件扩展名。但是,如果文件扩展名没有被明确阻止,IIS 如何知道它是静态资源还是将其路由到该特定绑定的网站?
一种可能性是 IIS 首先尝试查找具有未知文件扩展名的资源,如果找不到,则将请求转交给 Web 应用程序(呃……http 处理程序,我猜是同一个东西……)。不确定是否发生了这种情况……
提前谢谢了!
答案1
您要检查的是 MIME 类型。在 IIS 中右键单击您的服务器并转到属性。底部是 MIME 类型。这些是 IIS 知道如何处理的所有文件扩展名。
这是有关配置 MIME 类型的链接 http://technet.microsoft.com/en-us/library/cc753281(v=ws.10).aspx
这应该可以帮助你入门。