zoukankan      html  css  js  c++  java
  • 用UrlRewriter.Net实现对富关键字Url的重写支持

    为动态Url指定富关键字的Url, 有很多种方法. 这里使用UrlRewriter.Net. 此工具是一个开源组件, 它在Asp.Net的层级实现了Url重写, 因而整合到项目中比较方便. 而另外的一种Url重写产品ISAPI_Rewrite则是以ISAPI过滤器的形式在IIS的层级上实现重写, 后者的性能更好一些,但是需要在服务器上安装.

     下面是使用UrlRewriter.Net的详细步骤:

    1. 访问http://www.urlrewriter.net , 点击Download, 下载该产品的最新发布版.

    2. 解压压缩包, 将里面的Intelligencia.UrlRewriter.dll文件复制到项目的Bin文件夹下面并添加引用到此文件.

    3. 打开项目的web.config文件, 然后添加下面的配置处理程序段,启用UrlRewriter.Net会从名为rewriter的配置节点中读取其配置信息:

    1 <configuration>
    2 <configSections>
    3 <section name="rewriter" requirePermission="false" type="Intelligencia.UrlRewriter.Configuration.RewriterConfigurationSectionHandler, Intelligencia.UrlRewriter"/>
    4 </configSections>

    4. 对HTTP模块UrlRewriter进行配置, 它将使UrlRewriter.Net能够解释收到的请求然后重写它们:

    1 1 <system.web>
    2 2 <!--UrlRewriter-->
    3 3 <httpModules>
    4 4 <!--<add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
    5 5 <add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" name="UrlRewriter"/>
    6 6 </httpModules>



     5. 最后, 必须确保UrlRewriter.Net配置成接收所有不存在的文件或文件夹的请求, 如果使用的是IIS7, 则需要在web.config中添加以下配置行:

    1 <system.webServer>
    2 <validation validateIntegratedModeConfiguration="false"/>
    3 <modules>
    4 <add type="Intelligencia.UrlRewriter.RewriterHttpModule,Intelligencia.UrlRewriter" name="UrlRewriter"/>
    5 <!--<remove name="ScriptModule"/>-->
    6 <!--<add name="ScriptModule" preCondition="managedHandler"/>-->
    7 </modules>
    8 </system.webServer>
     

     老版本的IIS可以参照http://urlrewriter.net/index.php/support/installation下的步骤来进行配置

    6. OK, 现在UrlRewriter.Net应该可以使用了, 作为第一个测试, 把接收请求(例如"/my-paper.aspx"重写为"~/Paper.aspx?PaperID=1"), 在web.config中的节点<configuration>中添加以下配置信息:

     

    1 <rewriter>
    2 <rewrite url="/my-paper.aspx" to="~/Paper.aspx?PaperID=1"/>
    3 </rewriter>

    7. 载入http://localhost/my-paper.aspx, 将会获取ID为1的Paper信息.

    8. 至此, 已经验证富关键字Url重写功能正常, 接下来就能够在节点<rewriter>下面来根据正则表达式添加想要的Url重写规则. 添加完毕以后, 网站就能够正确的支持富关键字Url了!

    关于<rewriter>元素更多重写规则, 有时间会继续写笔记.

  • 相关阅读:
    科技小论文
    一线架构—细化架构
    python20.04.10
    软件架构总结
    信息领域热词分析
    架构即未来阅读笔记二
    构架即未来阅读笔记一
    科技小论文之软件质量
    Pre-architecture的需求
    软件质量
  • 原文地址:https://www.cnblogs.com/ananmylove/p/2337677.html
Copyright © 2011-2022 走看看