关于URL的地址重写,自己也实验了一把!
2009-04-04 11:07
267 查看
看了cnblogs上很多朋友的重写方式,最简单的无非就是用application_begienstart来实现,各位朋友在网上搜也会一大把,如果你觉的喜欢用 MS的urlrewriter,其实也不错,但个人认为,自己写的东西自己最了解,用起来也得心应手。
开始试验了:
第一步我现在web.config的<system.web></system.web>中加入 :
<httpHandlers>
<add verb="*" path="*.html" type="HtmlHttpHandler"/>
</httpHandlers>
第二步编写URL重写规则,我一般用XML来记录重写规则内容,这样就可以遍历搜索规则匹配
<?xml version="1.0" encoding="utf-8" ?>
<route>
<page rewrite="/default/list/5.html" url="/default.aspx?type=list&id=5"></page>
<page rewrite="/show/5.html" url="/show.aspx?id=5"></page>
.......
</route>
第三步开始编写重写类库
创建一个处理URL地址处理规则类文件,读取XML信息,匹配URL重写规则,替换成原始URL地址。
创建一个继承IHttpHandler的重写处理类文件,重写URL匹配所获取的真实的URL地址后,用context.Server.Execute(真实地址)来输出真实地址页面内容
建议在匹配URL重写的过程中,XML文件里重写规则信息最好是预先载入,否则每个访问用户不可能每次读取重复读取XML配置信息!
源代码本人会稍后送上!
开始试验了:
第一步我现在web.config的<system.web></system.web>中加入 :
<httpHandlers>
<add verb="*" path="*.html" type="HtmlHttpHandler"/>
</httpHandlers>
第二步编写URL重写规则,我一般用XML来记录重写规则内容,这样就可以遍历搜索规则匹配
<?xml version="1.0" encoding="utf-8" ?>
<route>
<page rewrite="/default/list/5.html" url="/default.aspx?type=list&id=5"></page>
<page rewrite="/show/5.html" url="/show.aspx?id=5"></page>
.......
</route>
第三步开始编写重写类库
创建一个处理URL地址处理规则类文件,读取XML信息,匹配URL重写规则,替换成原始URL地址。
创建一个继承IHttpHandler的重写处理类文件,重写URL匹配所获取的真实的URL地址后,用context.Server.Execute(真实地址)来输出真实地址页面内容
建议在匹配URL重写的过程中,XML文件里重写规则信息最好是预先载入,否则每个访问用户不可能每次读取重复读取XML配置信息!
源代码本人会稍后送上!
相关文章推荐
- 关于URL地址重写技术方法,在ASP.NET中重写URL
- Ubuntu14.04解决laravel5.4关于URL重写的问题
- JavaWeb之Cookie中保存中文(URL地址重写)
- 关于啊asp.net的伪静态(url 重写、)
- 删除ecshop分类URL静态重写地址中的b0
- iis7配置zend framework的地址重写规则[url_rewrite]
- Url地址重写,利用HttpHander手工编译页面并按需生成静态HTML文件
- URL地址重写
- Asp.net url重写后页面回发地址改变的处理
- 关于6.828实验中的bootloader链接地址与加载地址的思考
- ASP.NET中获取URL重写前的原始地址
- UrlRewriter url 地址重写
- Url地址重写,利用HttpHander手工编译页面并按需生成静态HTML文件
- Magento 自定义URL 地址重写 分类分级显示
- Apache & nginx 的地址重写 url_rewrite,省略 index.php
- UrlRewrite 关于地址重写来增加安全性
- 关于curl - 命令行浏览器 curl 命令详解,Linux中访问url地址
- wamp win2003 drupal配置apache下url地址重写
- urlRewriteFilter地址重写
- ASP.NET获取URL重写前的原始地址