• Intelligencia.UrlRewriter在IIS 7.0下的完全配置攻略


    在项目中,之前公司是使用IIS 7.0官方的URL重写模块,官方的使用说明请参见官方URLRewrite  ,添加伪静态支持,后来经理问我有没有涉及伪静态,我说之前项目中我一直是用Intelligencia.UrlRewriter,我觉得它蛮好用的,然后我就按领导的意思换成这个,我以为这东西最多半个小时就搞定的事情,我之前都是在IIS 6.0上配置的。找过一些资料发现是webconfig中,多加两个配置。我在此记录下来。以便今后使用。

    1、在modules 结点添加runAllManagedModulesForAllRequests属性

    <modules runAllManagedModulesForAllRequests="true">

    2、然后在modules结果添加以下配置

    <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule"/>

    下面完整的介绍下配置步骤:

    一、配置webconfig

    第一步:在配置文件configSections结点中添加下面配置:

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

    第二步:在httpModules结点内添加如下配置

    <!--配置url重写指定具体的处理组件-->
    
    <add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" name="UrlRewriter"/>

    第三步:在modules 结点添加runAllManagedModulesForAllRequests属性

    <modules runAllManagedModulesForAllRequests="true">

    第四步:在modules结果添加以下配置

    <add name="UrlRewriter" type="Intelligencia.UrlRewriter.RewriterHttpModule"/>

    重写规则的配置:有两种配置,一种是直接写在webconfig中,一种是写到一个xml中

    1、在webconfig中的配置:

    <rewriter>
        <rewrite url="~/default.html$" to="~/default.aspx" processing="stop" />
        <rewrtie url="^~/(d+)/(d+).html" to="~/Default.aspx?id=$1&amp;artcleid=$2" />//多个参数
    
    </rewriter>

    2、写到一个xml文件中,这样需要的webconfig指定到xml中

    如:

    <!--地址重写规则-->
      <rewriter file="~/xml/config/rewrite.xml"/>
    
    rewrite.xml中的内容如下:
    
    <?xml version="1.0" encoding="utf-8" ?>
     <rewriteRules>
       <!--注册日志监视器-->
       <register logger="Intelligencia.UrlRewriter.Logging.DebugLogger, Intelligencia.UrlRewriter" /> 
       <!--begin 网站首页 -->
    
      <rewrite url="~/index.html" to="~/Price_index.aspx" />
       <!--end 网站首页 -->
       <!--begin 新闻列表1(新闻类型) -->
       <rewrite url="~/newslist/([^/]*)/?$" to="~/price_newlist.aspx?type=$2" />
       <!--end 新闻列表1(新闻类型) -->
       <!--begin 新闻列表2(含分页) -->
       <rewrite url="~/newslist/([^/]*)-(d{1,3})/?$" to="~/price_newlist.aspx?type=$1&amp;page=$2" />
       <!--end 新闻列表2(含分页) -->
     </rewriteRules>

    到此介绍完毕,也许大家可能在用到这个的时候会遇到一个问题,那就是项目中本身的html文件无法访问,下次我为大家一一介绍解决办法。看到有需要用到的就参考下。

    这篇文章是在2012-06-09发表在csdn上的。点击查看

  • 相关阅读:
    v-distpicker 一个好用的三级联动的插件
    截取url参数
    position: relative 和 position: absoution 的详解
    自己封装一个下拉列表
    临界区访问的两个类:临界区类,共享临界区类——多平台版本
    临界区访问的两个类:临界区类,共享临界区类
    beyond compare 4.2.9桌面右键集成的问题修复
    递归创建、删除目录的几个函数
    读取资源中的GIF文件相应像素宽高度
    在关于对话框中,自动获取当前程序的版本,以显示
  • 原文地址:https://www.cnblogs.com/naoguazi/p/URLReWriter.html
Copyright © 2020-2023  润新知