• 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
    本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。
  • 相关阅读:
    #在蓝懿学习iOS的日子#Day10
    #在蓝懿学习iOS的日子#Day9
    #在蓝懿学习iOS的日子#第三个练习日
    #在蓝懿学习iOS的日子#Day8
    WCF基础:绑定(二)
    WCF基础:绑定(三)
    WCF基础:绑定(一)
    MVC框架中的值提供机制(三)
    MVC框架中的值提供机制(二)
    MVC框架中的值提供机制(一)
  • 原文地址:https://www.cnblogs.com/uxinxin/p/15396097.html
Copyright © 2020-2023  润新知