All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET,2.0里动态访问META标记_.net资料_编程技术
SQL,Server,索引结构及其使用_[SQL,Server教程]
SQL,Server,CLR全功略之二---CLR存储过程_mssql学习_编程技术
C#教程:操作注册表
通过PHP连接My,SQL的两种方法简介_php资料_编程技术
模拟Asp.Net,Forums实现可以换皮肤的控件_[Asp.Net教程]
特效:在网页中显示可拖动的月历_JavaScript技术_编程技术
Ajax开发过程中提交获取数据的乱码问题_[AJAX教程]_0
PHP中 ADODB 类库介绍(二)_[PHP教程]
PHP按比例控制图片显示(自动缩放函数)_[PHP教程]
Reading number is top 10 pictures
开始让人感动,后来......
清纯性感的美眉1
Players in the eyes of a perfect love1
Tie a large font of mouse
真正的国产-非模拍 贵在是真实1
这才是真正的人体艺术1
The cat shit
9.3阅兵全景图5-地空反舰导弹梯队
Absolutely shocked. National geographic 50 animal photographys3
China telecom 114 spokesman MeiYanXu2
Download software ranking
ASP.NET.2.0.XML.高级编程(第3版)
Professional killers2 data package
Tram sex maniac 2 (H) rar bag2
linux初级教程
Tram sex maniac 2 (H) rar bag10
Professional killers2 for Android
美女写真3
Photoshop 8.0图象编辑软件
电脑知识及技巧大合集
超级战舰
delv published in(发表于) 2014/1/24 9:15:47 Edit(编辑)
在global.asax中实现URL重写(应用)_[Asp.Net教程]

在global.asax中实现URL重写(应用)_[Asp.Net教程]

在global.asax中实现URL重写(应用)_[Asp.Net教程]

前言:看到有很多网站都用到了URL重写的功能,在网上找了很多资料,实现的方法有多种,可是大部分都很难理解,过程也比较复杂 ,不过我找到一种很简单也很容易理解的实现URL重写的方法,只需要在global.asax.cs文件中添加一个函数就可以实现,下面的代码是我根据在网上找到的代码写的,用在了我做的一个网站上,当然因为我的需求不同,跟原来的代码有点变化,如下:


protected void Application_BeginRequest(Object sender, EventArgs e)
...{
string oldUrl = HttpContext.Current.Request.RawUrl;


string pattern = @"^(.+)News(d+).html(?.*)*";
string replace = "1NewsDetails.aspx?NID=2";


string patternCul = @"^(.+)Culture(d+).html(?.*)*";
string replaceCul = "1CultureDetails.aspx?CID=2";



if (Regex.IsMatch(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))
...{
string newUrl = Regex.Replace(oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);
this.Context.RewritePath(newUrl);
}
if (Regex.IsMatch(oldUrl, patternCul, RegexOptions.IgnoreCase | RegexOptions.Compiled))
...{
string newUrl = Regex.Replace(oldUrl, patternCul, replaceCul, RegexOptions.Compiled | RegexOptions.IgnoreCase);
this.Context.RewritePath(newUrl);
}
}
这里我实现了2个地址的URL重写,看第一个的效果就是当我在地址栏访问:/News12.html的时候,其实访问的地址是:NewsDetails.aspx?NID=12这个地址, (仔细琢磨一下代码就可以看明白了,不用我多说了吧:)) 就这样简单的实现了URL的重写,我个人认为这样重写之后有一个好处,我把GET方法传递的参数变量给隐藏起来了,增强了安全性,还有给人一种误会认为你的网站是静态的,呵呵....


当然借助于强大的正则表达式,你只要写好patten,replace 里面的正则,那么网页就可以按照你任何想要的方式进行重写,当然这要在服务器支持的前提下.


申明一下:
该方法并不是我的独创(网址不记得了,抱歉),我只是根据别人的代码结合自己的需求稍微改动了下,然后自己用在了自己的项目中,感觉效果比较爽,所以写在这里,让更多的人学习一下,呵呵,希望对您有用


  来源:j_jake的csdnblog







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.