在ASP.Net2.0中实现UrlReWriter技术

本文介绍了如何使用UrlRewritingNet组件实现URL重写功能,通过简单的步骤即可将动态URL转换为静态URL格式,不仅有助于SEO优化,还能提升用户体验。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关注UrlReWriter技术很久了,首先就是在博客园里接触到的,之后在其他博客网站也看到了相应的应用。
UrlReWriter,简单的例子就是譬如将Article.Aspx?ArticleID=20类似的地址转成一个虚拟地址,比如Article20.htm或者Article/20.htm,这样浏览器读Article20.htm或Article/20.htm这个地址就可以将它转向真实的地址Article.Aspx?ArticleID=20。
 
这样做的好处是便于搜索引擎搜索到这篇文章的内容,也有利于用户理解网页地址便于记忆,也安全,隐藏了真实地址。
 
之前就看到了微软MSDN里关于UrlReWriter的介绍,不过语言晦涩,生硬难懂,以至于后来放弃了对它的研究。后来也看过别人写的一些总结,了解到可以用一个DLL组件引用,不用再自己写程序去实现UrlReWriter了。今天突然想用在主页大巴里面,于是再次拿起来,发现用组件实现起来非常简单。
 
组件我了解到的有两个,一个是微软的UrlReWriter.DLL,一个是 老外写的开源,专提供Asp.Net2.0的UrlRewritingNet,正合我意,呵呵。
使用方法都是网上搜的,别人写的 http://www.hzpal.com/Discuss/DotNet/459.aspx(其实是博客园里的人写的,只不过今天博客园打不开)。我总结一下。
 
1.将UrlRewritingNet.UrlRewriter.dll拷到bin目录下
2.在web.config里进行相关的配置
3.拷贝urlrewritingnet.xsd文件(这一步我没做,因为别人也没写拷到哪里,不过似乎没影响,有问题再说,呵呵)
4.定义Url重写规则(就是你Aspx文件中的链接改成重写后的地址,我的理解是这个意思)
 
管它的呢,反正能实现就对头。解释:
< add  name ="Rewrite"   virtualUrl ="^~/(.*)/Detail(.*).htm"   rewriteUrlParameter ="ExcludeFromClientQueryString"  destinationUrl ="~/Default.aspx?type=$1&amp;id=$2"  ignoreCase ="true"   />
里(.*)表示参数,也就是重写后的地址格式,比如Detail(.*).aspx就可以将Detail1.Aspx转成真实地址。$1表示第1个参数。这里参数是遵循规则式写法的,比如(.[0-9]*)表示数字。

此外还要在IIS\你的站点\属性\主目录\配置\映谢 加入一个和aspx 页面的配置相同的扩展名项htm。注意“确认文件是否存在”不要勾选,否则会出现找不到文件。
 
 最后一步是将Aspx页中输出的地址那里改成相应的重写地址,比如<a href=Detail<%# DataBinder.Eval(Container,"DataItem.ID")%>.htm>
 
我经过以上几步就可以实现UrlReWriter了。
不过据说放了DATAGRID,有分页的,你点到下一页就发现,晕倒,又出问题了。不过俺没碰到。
如果你碰到的话,可以参考这里:  http://www.dowebs.net/forums/index.php?showtopic=345,就是建立自己的HtmlForm。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值