IIS 6.0将所有请求映射到除静态文件之外的ISAPI

时间:2011-10-16 05:47:09

标签: asp.net iis url-rewriting iis-6

我正在使用自定义模块在我的ASP.net应用程序(而不是mvc)中重写URL。我的页面网址没有扩展名后缀 - 例如:

http://www.mydomain.com/entity/123/entitytitle

因此我设置IIS将*路径映射到我的ISAPI处理程序。

问题在于,由于这个映射,所有的网址如* .png,* .jpg也映射到ISAPI处理程序(而不是staticFileModule),导致我的IIS工作进程执行更多工作(以及过多的CPU使用)

IIS 6.0中的解决方案是什么?我想将所有扩展映射到ISAPI处理程序,除了一些知道静态文件,如* .png,* .jpg ...

提前致谢。

2 个答案:

答案 0 :(得分:0)

您无法进行基于isapi映射的排除,因此您只需要包含要映射的所有扩展名,假设您确实希望使用现有的自定义模块进行重写。

我强烈建议您使用原生ISAPI过滤器调查IIS6中的重新匹配网址,例如:http://www.isapirewrite.com/(免费和付费版本)

答案 1 :(得分:0)

我找不到任何正确答案。最后因为我使用的是IIS 6.0,对我来说唯一剩下的方法就是为我的图像或样式文件夹使用虚拟目录。那么静态内容将单独提供!