Intelligencia.UrlRewriter 在IIS7.0 集成模式应用程序池下的配置说明

  1. Web.Config 配置。

1.1 配置<configSections>节

    <!---->
    <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler,Intelligencia.UrlRewriter" />
    <!---->

1.2 配置<system.webServer>节

该节点下配置的 <modules> , <handlers> 仅适用于集成模式,而不适用于经典模式,如经典模式下运行的应用程序则忽略web.config的 <system.WebServer> 节中指定的所有托管代码模块和处理程序,这种模式下web应用程序应该在 <syste.web> 节的 <httpModules> 和 <httpHandlers> 中定义模块和处理程序。

当在<syste.web> 节点的 <httpModules> 和 <httpHandlers> 节中配置了定义模块和处理程序,并且应用程序池选择在集成模式  ( iis7.0以下) 下运行时,配置 <validation> 节 可以忽略因为在<syste.web>中配置的定义模块和处理程序而造成以下错误


    <modules runAllManagedModulesForAllRequests="true">
           <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule" />
    </modules>
<validation validateIntegratedModeConfiguration="false" />

1.3 配置<rewriter>节

该节点 名字 rewriter 是在 <configSections> 节点中配置的 <Sectioin> 的 name 值 ,用于配置URL重写规则。

  <rewriter>
    <rewrite url="~/([a-z0-9A-Z_]+)/(.+)\.(jpg|png|gif|swf|.flv{1})" to="~/$1/$2.$3" />
  </rewriter>

1.4 在IIS7.0经典模式中运行应用程序池,或者在IIS7.0以下运行网站,需要配置<system.web>节

在经典模式下运行应用程序池(或在IIS7.0以下运行),需要配置以下节点。但是经过测试在这种模式下,并不能以URL后缀进行匹配重写 (测试时使用的是MVC3.0,不清楚为什么识别不了 “.”符号,猜测可能原因:在这种模式下所有的静态资源文件被MVC默认的静态处理程序StaticFile进行了默认处理而没有预先进行Url重写,有知道具体原因的兄弟欢迎留言告知,谢谢。但在集成模式下是可以被重写的。),但是可以重写不带“.”的URL。

    <httpModules>
      <add type="Intelligencia.UrlRewriter.RewriterHttpModule,  Intelligencia.UrlRewriter" name="UrlRewriter" />
    </httpModules>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值