博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Intelligencia.UrlRewriter简单介绍[转]
阅读量:6696 次
发布时间:2019-06-25

本文共 1713 字,大约阅读时间需要 5 分钟。

from:

1、在webconfig中加入如下代码

<configSections>

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

<rewriter>

    <!--重写规则-->
    <rewrite url="^/User/(\d+)$" to="~/aa.aspx?id=$1" processing="stop" />
    <rewrite url="^/User/(\w+)$" to="~/aa.aspx?name=$1" processing="stop" />
</rewriter>

<system.web>

<httpModules>
      <add type="Intelligencia.UrlRewriter.RewriterHttpModule, Intelligencia.UrlRewriter" name="UrlRewriter" />    
    </httpModules>
</system.web>

2、解决在URL Rewrite后保持PostBack地址

在Web项目中创建一个browser文件,例如 App_Browsers\Form.browser(名字可以随便起,只要在这个文件夹下就可以),然后在里面里写入下列代码保存即可。

<browsers>

<browser refID="Default">
    <controlAdapters>
      <adapter controlType="System.Web.UI.HtmlControls.HtmlForm"
               adapterType="Intelligencia.UrlRewriter.FormRewriterControlAdapter" />
    </controlAdapters>
</browser>
</browsers>

 

更多详情请参考

urlrewriter.net官网下载地址:

 

 

中文版

 

当使用通配符映射或者使用ASP.NET处理所有HTTP请求的时候,IIS的默认文档机制也就失去了该有的作用,以下代码就是用来重新实现默认文档的方法:

注意:使用“processing="restart"”的时候将会导致重写引擎从头开始执行所有的重写规则,此时应当注重包含“/default.aspx”字符串的处理。

如果你需要同时支持多个默认文档,那么以上代码需要修改为:

编辑以上规则代码的时候,尤其要注意确认文件是否存在。

此外,在使用通配符映射或者使用ASP.NET处理所有HTTP请求的时候,你会发现.gif、.css等文件无法正常访问,这是因为此时对这些文件类型的处理都被ASP.NET所拦截。修正方法如下:

两个比较特殊的正则表达式字符是“^”和“$”(不是必须的),“^”代表URL的开头,“$”代表URL的结尾。使用这两个符号可以使您更加精确的控制重写动作,以确保程序所匹配的URL正是您想处理的。

“~/”表示当前网站应用程序运行所在的虚拟根目录,当您把网站应用程序安装于虚拟目录(或者非根目录)的时候,这尤其有用,而无须重新编写任何代码来替换您的虚拟根路径。

模式匹配在处理查询字串(QueryStrings)的时候尤其有用,这可以让您的URL去掉类似于“?id=3”的代码段,这非常有用,可以让你轻松的实现伪静态。

下面列出两个我们认为非常有特色的重写规则:

(1) 当目标URL不包含自定义查询字串的时候:

此时“$1”匹配的是(\?.+)?,也就是所有的查询字串。

(2) 当目标URL包含自定义查询字串的时候:

注意此时需要使用“&amp;”来代替“&”,这是XML文档语法的需要。

转载地址:http://xdvoo.baihongyu.com/

你可能感兴趣的文章
WORDPRESS登录后台半天都无法访问或者是访问慢的解决方法
查看>>
Windows 7桌面图标设置方法
查看>>
学习运用json
查看>>
Linux - 用户管理常用命令
查看>>
Gsoap
查看>>
pb 数据窗口打印设置
查看>>
1061. Dating (20)
查看>>
安装 sysbench的 报错 /usr/bin/ld: cannot find -lmysqlclient_r 解决办法
查看>>
javaEE(13)_jdbc框架
查看>>
Java学习笔记三:Java的变量、常量、变量的类型及使用规则
查看>>
原创《weex面向未来的架构》
查看>>
快速搭建fabric-v1.1.0的chaincode开发环境
查看>>
BZOJ3224普通平衡树——旋转treap
查看>>
eclipse与myeclipse恢复已删除的文件和代码
查看>>
debian old version cd and distribution archives
查看>>
springSecurity初学 安全登录验证
查看>>
ssm整合的springmvc.xml的配置
查看>>
hibernate持久化对象,
查看>>
Android笔记之引用aar
查看>>
【题解】大中小括号匹配
查看>>