url rewriter2.docx
- 文档编号:6854646
- 上传时间:2023-01-11
- 格式:DOCX
- 页数:12
- 大小:157.78KB
url rewriter2.docx
《url rewriter2.docx》由会员分享,可在线阅读,更多相关《url rewriter2.docx(12页珍藏版)》请在冰豆网上搜索。
urlrewriter2
UrlRewritingNet完美实现ASP.NET2.0中的URL重写(映射)
URL重写好处有很多,如有利于SEO、便于记忆、隐藏真实路径使安全性提高、便于更新等等。
本文概要描述了各种URL重写的实现。
ASP.NET2.0中实现URL重写有很多方法,如:
Global.asax中捕获用Application_BeginRequest请求,再用HttpContext类的Rewrite方法或Server.Transfer方法实现重写;自己实现IHttpModule实现重写;还有的利用服务器的404错误引导到新的页面实现重写;最后就是用组件实现重写(基本原理大多也是实现IHttpModule、IHttpHandler接口处理请求)。
如果自己处理请求,实现起来麻烦,特别是在大项目中,做好使用组件实现。
网上有很多开源或免费的实现URL重写的组件,选择余地特别大。
当初我选择的标准是小巧、快速、实现常用的URL重写功能。
经过比较选择了只有32KB大小的UrlRewritingNet。
查看其文档主要功能有以下一些:
1.基于正则表达式的重写
2.支持Themes和母版页
3.支持输出缓存
4.支持信任级别为"Medium"的使用环境
5.支持Postback
6.支持无Cookie的Session
7.运行时添加、修改改写规则
8.容易安装使用
OK!
功能完全够用,就选他了!
Web.config中的配置:
requirePermission="false" type="UrlRewritingNet.Configuration.UrlRewriteSection,UrlRewritingNet.UrlRewriter" /> rewriteOnlyVirtualUrls="true" contextItemsPrefix="QueryString" defaultPage="Default.aspx" defaultProvider="RegEx" xmlns="> rewriteUrlParameter="ExcludeFromClientQueryString" destinationUrl="~/Default.aspx? ID=$1" ignoreCase="true"/> --更多重写规则--> type="UrlRewritingNet.Web.UrlRewriteModule,UrlRewritingNet.UrlRewriter"/> -- 设置compilationdebug="true"将调试符号插入 已编译的页面中。 但由于这会 影响性能,因此只在开发过程中将此值 设置为true。 --> -- 通过 安全身份验证模式, 以标识传入的用户。 --> -- 如果在执行请求的过程中出现未处理的错误, 则通过 具体说来, 开发人员通过该节可以配置 要显示的html错误页 以代替错误堆栈跟踪。 --> 测试用的文件: Default.aspx <%@PageLanguage="C#"%> DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http: //www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> //www.w3.org/1999/xhtml"> <% Response.Write("原始URL: "+Request.RawUrl+" Response.Write("获取的ID: "+Request.QueryString["ID"]); %>
");