网上有很多写这个组件使用的文章,如何使用我就不细述了,有关在 ASP.NET 中执行 URL 重写的文章请看下面链接:
http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx?mfr=true

我这里要说的是其中几个很容易被忽视的小细节。

问题场景:
比如实际我并不存在下面三个WEB路径:

http://*******/Tag/Java
http://*******/Tag/Java/
http://*******/Tag/Java/Default.aspx

我想把它重定向到
http://*******/List.aspx?tag=Java

这时候如果我们偷懒,直接用Scott Mitchell 的 URLRewriter 组件,
需要注意的有几个地方:

1、我们需要给IIS设置通配符映射,而且这个映射必须不进行文件是否存在检查。

2、我们在WEB.config 中应该用 httpModules 来定义扑捉用户的请求,而不是 httpHandlers。
因为我们这里要处理 http://*******/Tag/Java 、 http://*******/Tag/Java/ 这样的请求。

3、设置这个信息的 Web.config 应该是根站点目录下的 Web.config,而不是 /Tag/ 目录下的Web.config。

4、要扑捉的URL应该这三种情况都计算,而不是只考虑 http://*******/Tag/Java/Default.aspx 这种情况。
参考配置如下:

<RewriterConfig>
    <Rules>
      <RewriterRule>
        <LookFor>~/tag/([\w]+)/default\.aspx</LookFor>
        <SendTo>~/List.aspx?Tag=$1</SendTo>
      </RewriterRule>
    </Rules>
    <Rules>
      <RewriterRule>
        <LookFor>~/tag/([\w]+)/</LookFor>
        <SendTo>~/List.aspx?Tag=$1</SendTo>
      </RewriterRule>
    </Rules>
    <Rules>
      <RewriterRule>
        <LookFor>~/tag/([\w]+)</LookFor>
        <SendTo>~/List.aspx?Tag=$1</SendTo>
      </RewriterRule>
    </Rules>
  </RewriterConfig>

转载于:https://www.cnblogs.com/scgw/archive/2007/04/28/731623.html

[转]URLRewriter使用通配符相关推荐

  1. asp.net用url重写URLReWriter实现任意二级域名 (转)

    asp.net用url重写URLReWriter实现任意二级域名 Asp.net 用url重写(URLReWriter)实现任意二级域名 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在 ...

  2. ASP.NET“.NET研究”下用URLRewriter重写二级域名

    这里要求对域名进行重写,实现http://1234.abc.com/ 到 ~/Defa.aspx?id=1234的重写. 第一:域名 首先域名要支持泛解悉,就是域上海企业网站制作名解悉的主机名为星号* ...

  3. ASP.NET的地址重写“.NET研究”(URLRewriter)实现原理及代码示例

    一.概述 访问者输入:http://wu-jian.cnbolgs.com/default.aspx,实际请求和响应的地址却是:http://www.cnblogs.com/wu-jian/defau ...

  4. ASP.net的地址重写(URLRewriter)实现原理及代码示例

    转载:http://www.cnblogs.com/wu-jian/archive/2011/01/06/1927089.html 一.概述 访问者输入:http://wu-jian.cnbolgs. ...

  5. MySQL 学习笔记(2)— 通配符/正则表达/运算符

    本文继续对 MySQL 中的通配符过滤.正则表达式.运算符进行分类总结. 1. 通配符 LIKE 指示 MySQL,后跟的搜索模式利用通配符匹配而不是直接相等匹配进行比较,其中分为 % 和 _ 通配符 ...

  6. url 通配符解析成参数

    需求:url 参数是通配符,需要把通配符解析成参数并且拼接到 url 中 例如:https://xxx.cn/index.html$a=1$b=2;  解析成 https://xxx.cn/index ...

  7. shell介绍,命令历史,命令补全和别名 ,通配符, 输入输出重定向

    2019独角兽企业重金招聘Python工程师标准>>> shell介绍 shell是一个命令解释器,提供用户和机器之间的交互: 支持特定语法,比如逻辑判断.循环: 每个用户都可以有自 ...

  8. Java泛型 通配符? extends与super

    本文来源:https://i.cnblogs.com/EditPosts.aspx?opt=1 感谢博主.本文仅供参考学习. Java 泛型 关键字说明 ? 通配符类型 <? extends T ...

  9. Access-Control-Allow-Origin这个header这个头不能设置通配符域名

    这个header属性,要么设置为*,即任何域名来源都行,要么就只能设置为一个或多个,确定的域名,不能使用通配符域名 转载于:https://www.cnblogs.com/abcbuzhiming/p ...

最新文章

  1. CVPR 2022 | 模型难复现不一定是作者的错,最新研究发现模型架构要背锅
  2. MIT联合波士顿咨询:全球21个行业,对话3000名高管,AI如何重塑商业形态? | 雷报
  3. 二叉树前序、中序、后序遍历求法
  4. MVC5+EF6 入门完整教程 总目录
  5. 没有5年测开经验,还真说不清Python生成器、迭代器、装饰器
  6. 财子说丨王国斌:相信时间的力量
  7. VMware安装Windows Server 2003提示Operating System not found
  8. 安装labelImg(Ubuntu / Linux)
  9. 图注意力网络GRAPH ATTENTION NETWORKS(gat)浅读
  10. 基于G6-Editor的流程图编辑器
  11. Mysql多表联查——经典50题
  12. PPT里怎么加入边翻页幻灯片边连续播放音乐?
  13. 干货!我被面试官绝地反杀了,附详细答案
  14. Python生成声音波形、模拟钢琴音色
  15. C语言入门知识1(零基础新手适用)
  16. ios13全选手势_iOS13 (四)双指、三指手势
  17. POJ 2455 Secret Milking Machine 二分枚举 + 最大流
  18. C# 科学计数法的转换
  19. 天天优惠第一个版本于6月9日发布
  20. 前端小报 - 201902月刊

热门文章

  1. 02 List、Tuple、Dict、Set
  2. Python 模块 timedatetime
  3. setNeedsDisplay看我就懂!
  4. Windows Server 2008 部署权限管理RMS
  5. C language day1
  6. 错误 open too many files
  7. 大话重构7:重构是一系列的等量变换
  8. jboss-AS目录结构了解(资料摘取)
  9. Server 2012 Hyper-v新功能之二:自动化支持技术
  10. PS/2键盘鼠标接口各针脚定义