【url重写】
一、原理
void Application_BeginRequest(object sender, EventArgs e)
{
//url重写
HttpApplication app = sender as HttpApplication;
string url = app.Request.RawUrl;
Regex r = new Regex("/(\\d+)/details\\.htm",RegexOptions.IgnoreCase);
Match m = r.Match(url);
if (m.Success)
{
string id = m.Groups[1].Value;
app.Context.RewritePath("~/PhotoDetails.aspx?id=" + id);
}
}
二、urlRewriter
1、在<configSections>节点加入
<section name="RewriterConfig" type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter" />
2、在</configSections>之后加入
<RewriterConfig>
<Rules>
<RewriterRule>
<LookFor>~/(\d{4})/(\d{2})/Default\.aspx</LookFor>
<SendTo>~/Default.aspx?ID=$1</SendTo>
</RewriterRule>
</Rules>
</RewriterConfig>
3、<httpHandlers>中加入
<add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter" />
或者 <httpModules>加入
<add type="URLRewriter.ModuleRewriter, URLRewriter" name="ModuleRewriter" />
备注:关于url组件可在文件中下载
相关文章
- Nginx url 重写
- 【愚公系列】2022年08月 Go教学课程 033-结构体方法重写、方法值、方法表达式
- 重写线程池 execute 方法导致线程池“失效” 问题
- 关于 Git 重写提交历史的一些笔记
- 【Groovy】MOP 元对象协议与元编程 ( 使用 Groovy 元编程进行函数拦截 | 重写 MetaClass#invokeMethod 方法拦截 JDK 中已经定义的函数 )
- 在 django generic.DetailView 里设置缓存(重写 get_object )
- nginx反向代理+缓存开启+url重写+负载均衡(带健康探测)的部署记录详解程序员
- java 重载、重写、构造函数详解编程语言
- JSP JSTL <c:url>标签:生成URL地址标签
- MySQL: 不可或缺的URL参数(mysql的url参数)
- MySQL连接URL指南(mysql连接url)
- 研究团队通过合成DNA成功重写大段基因组,未来生命也可以定制
- Oracle连接URL:完美解决数据连接问题(oracle连接url)
- 如何使用Redis连接URL来提高数据传输效率?(redis连接url)
- MySQL中URL的格式解析(mysql中url的格式)
- 三千万URL疾驰Redis库中(三千万url存redis)
- 在ASP.NET中重写URL的代码
- asp.netURL重写简化版速学URL重写
- php快速url重写更新版[需php5.30以上]
- drupal代码实现URL重写
- .net输出重写压缩页面文件的小例子
- JavaScript实现url地址自动检测并添加URL链接示例代码
- C#中多态、重载、重写区别分析