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

Reading number is top 10 articles
五个常见 PHP 数据库问题_[PHP教程]
ADO.NET查询数据库中数据
在ASP.NET程序中值得注意的两个地方_[Asp.Net教程]
ASP.NET技巧:设置上传文件的最大大小_[Asp.Net教程]
Sys.ScriptLoader与JS加载进度条的实现_.net资料_编程技术
delphi常用的几个路径函数
SQL注入漏洞全接触(入门篇)_[SQL,Server教程]
让您网页的按钮也能使用热键_JavaScript技术_编程技术
visual c++ MFC调试宏
交易失败[MSSQL],SQL,Server,不存在或访问被拒绝。_mssql学习_编程技术
Reading number is top 10 pictures
胸部遭到偷窥的女人们
Sexy women in 2013--1
Original author said, this is the Hengyang people
八个盛产美女的国家1
这还能睡得着?
沙漠里的美女
Chinese paper-cut grilles art appreciation7
girl of HuNan name is LiXiang(湖南辣姐李湘的写真)
美女浴室写真3
Catch prostitution woman in China
Download software ranking
虚拟机5.5.3版
C#编程思想
WebService在.NET中的实战应用教学视频 → 第1集
金山office2007
Boxer's Top ten classic battle10
Eclipse-CALMSANNY (second edition)
linux安装大全
Proficient in Eclipse
Tram sex maniac 2 (H) rar bag18
中国结婚习俗实录
aaa published in(发表于) 2013/12/13 9:45:20 Edit(编辑)
虚拟主机上用Asp.net实现Urlrewrite_.net资料_编程技术

虚拟主机上用Asp.net实现Urlrewrite_.net资料_编程技术

虚拟主机上用Asp.net实现Urlrewrite_.net资料_编程技术-你的首页-uuhomepage.com

在网上看到,很多朋友在asp.net中做urlrewrite,用的是HttpHandle+Server.Transfer的方法。其实这种方法是错误的。第一,HttpHandle是实现不了urlrewrite的;第二Server.Transfer是标准的重定向,根本不是urlrewrite。

其实,实现urlrewrite不用自己HttpHandle,也不用自己实现HttpModule,用几行代码就可以轻松实现。

我这里介绍的是在虚拟主机上,虚拟主机不同于自己的服务器,你是没有权限去修改IIS,也没有权限去安装iis rewrite之类的IIS插件。但是我们仍然可以轻松完成需要的功能。

具体做法如下:打开global.asax.cs,定位到protected void Application_BeginRequest(Object sender, EventArgs e)。从方法名我想也能猜到它是做什么的。输入如下代码:






protected void Application_BeginRequest(Object sender, EventArgs e)
{
string oldUrl = HttpContext.Current.Request.RawUrl ;
string pattern = @"^(.+)default/(\d+)\.aspx(\?.*)*$";
string replace = "$1default.aspx?id=$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);
}
}

有了上边这段代码,我访问一个类似:.../default/123.aspx 的网址,当然这个网址在我的电脑上不存在,它就会被定向到:.../default.aspx?id=123。

当然,利用功能强大的正则表达式,你可以任意按照自己的需要来重写url,这一切都是在服务器端默默的进行,在客户端是不会有任何察觉的。由于是在虚拟主机上,我们只能重定向.aspx文件,如果是自己的服务器,只要把后缀名在IIS中注册一下,就可以实现任意后缀名的处理。比如你可以注册一个*.myweb这样的类型,这样别人访问default/456.myweb时,你可以把它重定向到default.aspx?id=456。总之一句话,只要你能想到.net就可以帮你实现,并且这一切不需要多少的代码。





添加到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.