IIS 7 不限制url后缀
今天在iis 7上部署测试程序。其中有一项功能是url重写。url重写的实现如下(顺便说一下,不让你掉进云里雾里):
1 使用插件 UrlRewritingNet.UrlRewriter.dll,配置如下:
<configuration>
<configSections>
<section name="urlrewritingnet" requirePermission="false" restartOnExternalChanges="true" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
…..
在 <configuration> 下进行详细映射配置
<urlrewritingnet rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="home" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07">
<rewrites>
<add name="RewriteSearchResults" virtualUrl="^~/CustomerSearch/Searching.do/(.*)/" rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Customer/SearchPage.aspx?key=$1" rewrite="Application" redirectMode="Permanent" redirect="None" ignoreCase="true" />
…….
2 以前是IIS 6上,今天将程序放到IIS 7 上,把“处理映射程序”配了半天,老报 404错误。IIS 7,以前没用过。在网上一搜,没明显的解决方案。看了IIS 7的文档,说“模块功能可以取代 isapi筛选器”,起初动了心(估计它也是实现无后缀筛选的一种新方式,只是现在我没弄明白了,清楚的留个言),但也没解决问题,停了会,发现:应用程序池里面的 托管管理模式 有两种:当前选的是集成,以前的是经典。经典?过去的好东西,不就是叫经典么?就选经典了。结合配好的“处理映射程序”(请求路径:*,可执行程序:C:/Windows/Microsoft.NET/Framework/v2.0.50727/aspnet_isapi.dll),程序跑动了。问题马马虎虎解决。
遗留问题:
1 应用程序池 里面的 托管管理模式 中集成模式下,如何进行
2 IIS 7 中 模块 的作用及运用,是否可进行不限制url后缀配置?