asp.net 伪静态实现(UrlRewritingNet)

UrlRewritingNet.UrlRewriter源码地址 https://github.com/aspnetde/UrlRewritingNet 部署步骤:

步骤一:

 <!--只允许存在一个 <configSections> 元素,并且,如果存在该元素,它还必须是根 <configuration> 元素的第一个子元素-->
  <configSections>
    <!--步骤一,新静态规则应用添加-->
    <section name="urlrewritingnet" requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection, UrlRewritingNet.UrlRewriter" />
  </configSections>

步骤二

  <!--步骤二,静态(system.web里面)-->
    <httpModules>
      <add name="UrlRewriteModule" type="UrlRewritingNet.Web.UrlRewriteModule, UrlRewritingNet.UrlRewriter" />
    </httpModules>

步骤三

 <!--步骤三,载入伪静态地址 任意标签后面-->
  <urlrewritingnet configSource="UrlRewrites.config"></urlrewritingnet>

步骤四

<!--步骤四,部署在IIS上需要的配置-->
  <system.webServer>
    <handlers>
      <!--一下根据.net版本选择不同的脚本 32位-->
      <add name="静态脚本20" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
      <add name="静态脚本40" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness32" />
    <!--64位-->
    <add name="net40伪静态" path="*.html" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" resourceType="Unspecified" preCondition="classicMode,runtimeVersionv4.0,bitness64" />    
</handlers>
  </system.webServer>

这里也可以在iis里面配置
处理映射->添加脚本映射-> [请求路径: *.html 执行文件 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll ]

步骤五   伪静态统一配置地址 》》 UrlRewrites.config

<!--伪静态统一配置地址-->
<urlrewritingnet  rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage = "Default.aspx" defaultProvider="RegEx" xmlns="http://www.urlrewriting.net/schemas/config/2006/07" >
  <rewrites>
    <add  name="cn_index" virtualUrl="~/b.html" destinationUrl="~/Demo.aspx" ignoreCase="true" />
    <add  name="1"  virtualUrl="~/a-(\d+)-(.*).html"  destinationUrl="~/Act.aspx?ActID=$1&Keyword=$2" />
  </rewrites>
</urlrewritingnet>

源码

Demo.zip

http://localhost:28684/b.html -->http://localhost:28684/Demo.aspx

http://localhost:28684/a-1-测试.html --> http://localhost:28684/Act.aspx?ActID=1&Keyword=测试

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构

我是这样手写Spring的,麻雀虽小五脏俱全

人见人爱的Spring已然不仅仅只是一个框架了。如今,Spring已然成为了一个生态。但深入了解Spring的却寥寥无几。这里,我带大家一起来看看,我是如何手写...

541
来自专栏拂晓风起

Spring 获取web根目录 (Spring线程获取web目录/路径/根目录,普通类获取web目录)

973
来自专栏张善友的专栏

关于gcc、glibc和binutils模块之间的关系

一、关于gcc、glibc和binutils模块之间的关系 1、gcc(gnu collect compiler)是一组编译工具的总称。它主要完成的工作任务是“...

2008
来自专栏木木玲

深入解析 volatile 、CAS 的实现原理

2551
来自专栏瞎说开发那些事

[Java并发系列] Java并发机制的底层实现

1525
来自专栏逸鹏说道

小解Redis 系列

官网:http://redis.io/ 推荐一个开源组件:StackExchange.Redis https://github.com/StackExchang...

2929
来自专栏自动化测试实战

“http://127.0.0.1:4723/wd/hub”的解释

4735
来自专栏顶级程序员

Java Web前端到后台常用框架介绍

来源: 小宝鸽 - CSDN博客 链接: http://blog.csdn.net/u013142781/article/details/50922010 一...

4287
来自专栏DOTNET

Entity Framework——配置文件设置

可以使用配置文件或代码(EF6起)配置EF框架。 一、使用配置文件 安装Entity Framework自动生成的配置 当使用VS的NuGet自动安装Entit...

3035
来自专栏xingoo, 一个梦想做发明家的程序员

JSP与JavaBeans

  JavaBeans简介   JavaBeans是一种符合一定标准的普通java类,需要满足下面几点:   1 类是public   2 属性私有   3 空...

1946

扫码关注云+社区