zoukankan      html  css  js  c++  java
  • IIS URL Rewrite将伪静态配置文件放在web.config外部

    IIS6以前采用 URL Rewite 1.1

    首先搜索使用URLRewriter.dll文件引入到项目中   我用的URLRewriter.dll文件

    web.config中配置

    <configuration>
      <configSections>
        <section name="CustomConfiguration" type="URLRewriter.Config.UrlsSection, URLRewriter" />
      </configSections>
      <CustomConfiguration configSource="App_Dataurl.xml" /><!--通过这样写把文件放在web.config外部,最好放到App_Data文件夹内,防止配置被通过URL直接访问到 -->
      <system.web>
         <!--Taurus IIS应用程序池:经典模式(下运行,开启此配置)<httpModules>     
     <add name="RewriterModule" type="URLRewriter.RewriterModule, URLRewriter"/>
        </httpModules>
    -->
     </system.web>
     <!--Taurus IIS应用程序池:集成模式(下运行,开启此配置)
      <system.webServer>
        <modules>
         
     <add name="RewriterModule" type="URLRewriter.RewriterModule, URLRewriter"/>
        </modules>
      </system.webServer>
    -->
    
    
    </configuration>

    App_Dataurl.xml文件里面这样写

    <CustomConfiguration>
      <urls>
          <add virtualUrl="这里写虚拟路径的正则匹配" destinationUrl="这里写实际程序中的路径"/>
    <!-- 例如注意后面路径中的&符号需要转义 -->
    <add virtualUrl="~/page(d+).html" destinationUrl="~/page.aspx?ID=$1"/>
    <add virtualUrl="~/page(d+)_(d+).html" destinationUrl="~/page.aspx?ID=$1&#038;page=$2"/>
      </urls>
    </CustomConfiguration>

    以上是IIS URL Rewrite 1.1的配置方法

    2.0中的方式web.config里设置

    <configuration>
      <system.webServer>
        <rewrite>
          <rules configSource="App_Dataurl2.0.xml" />
        </rewrite>
      </system.webServer>
    </configuration>

    url2.0.xml里配置 具体方式可参照微软官网文档  URL Rewrite Module - Video Walkthrough | Microsoft Docs

    <rules>
      <rule name="regionpage" stopProcessing="true">
        <match url="^page1-(d+).html" />
        <action type="Rewrite" url="ok.aspx?id={R:1}" />
      </rule>
    </rules>

    通过本人测试,感觉如果1.0满足需求使用1.0,2.0调整还需要让应用程序池重启才能生效,不知道是个人配置问题,还是真的存在问题。

    作者:uxinxin
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    (原创)分享一下最近搞的tiny210V2从nand启动支持(K9GAG08U0F).
    (转)uboot 与系统内核中 MTD分区的关系
    (转)mkimage制作linux内核映像 即uImage是怎么制作的
    ExtJs 一些属性备忘录
    CSS 元素选择器
    为什么匿名内部类参数必须为final类型
    Unbuntu 14.04 64位 搭建交叉编译环境
    eclipse调试运行
    Linux中cat命令的用法
    android之json
  • 原文地址:https://www.cnblogs.com/uxinxin/p/15396097.html
Copyright © 2011-2022 走看看