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闲聊

Linux ubuntu文件管理命令归纳(一)

1494
来自专栏我爱编程

Day1爬虫原理

爬虫基本流程 发起请求 通过HTTP库向目标站点发起请求,即发送一个Request,请求可以包含额外的headers等信息,等待服务器响应。 获取响应内容 如果...

3026
来自专栏技术博文

svn 文件状态标记含义

svn status打印五列字符,紧跟一些空格,接着是文件或者目录名。第一列告诉一个文件的状态或它的内容,返回代码解释如下: A item 文件、目录或是符号...

3404
来自专栏李智的专栏

Python在不同目录下导入模块的方法

python在不同层级目录import模块的方法 使用python进行程序编写时,经常会调用不同目录下的模块及函数。本篇博客针对常见的模块调用讲解导入模块的...

731
来自专栏柠檬先生

jquery 操作ajax 相关方法

jQuery.get()   使用一个HTTP GET 请求从服务器加载数据。   jQuery.get(url [,data] [,success(dat...

21910
来自专栏smy

前后端分离之vue2.0+webpack2 实战项目 -- webpack介绍

webpack的一点介绍 Webpack 把任何一个文件都看成一个模块,模块间可以互相依赖(require or import),webpack 的功能是把相互...

3506
来自专栏网络

JavaEE——jsp介绍

jsp介绍: jsp全称Java Server Page,它是Servlet的扩展,其作用就是简化网站创建过程和维护动态网站。 jsp运作原理: 浏览器访问in...

2047
来自专栏linux系统运维

linux任务计划, chkconfig工具,systemd管理服务, unit介绍,target介绍

1635
来自专栏pangguoming

vue路由跳转传参数

1. router-link <router-link :to="{ path: 'yourPath', param...

2936
来自专栏pangguoming

linux如何修改文件或目录的权限(chmod)

chmod命令是linux上用于改变权限的命令,-R 是递归遍历子目录,因为你要操作的文件使用的*通配符。777,第一个7代表文件所属者的权限,第二个7代表文件...

34610

扫描关注云+社区