今天,群里有人问我关于Url重写的问题,想这重写,记得国庆期间看过相关文章,msdn介绍也看过,大概就三种方法,最常用的就是用微软提供的dll文件,今天,把我dll引用了一下,按着说明配置了一下文件,结果出现不少问题,调试时找不到.cs源代码,不知是啥问题,可能dll放的太久,生秀了..-_-.#,只好上网再搜一下新的dll,突然发现2.0里的新方法!花了半个晚上做一个demo!
以下是demo源代码: 项目里只有两个页面(Default.aspx,user.aspx(直接response.write(request.querystring["userId"]))
protected void Application_BeginRequest(object sender, EventArgs e)
{
string suffixUrl, lastUrl, newurl = string.Empty, userId = string.Empty ;
lastUrl = Request.RawUrl;
if (lastUrl.Substring(0, 11).ToLower() == "/urlrewrite")//"urlrewirte是根目录名,加判断的原因是本地测试时
{ //被取出来,上传到服务器时根目录会被域名取代(消失)!
suffixUrl = lastUrl.Substring(12).ToLower();
}
else
{
suffixUrl = lastUrl.Substring(1).ToLower();
}
bool isMatch = false;
Regex myReg = new Regex(@"user/([\w\d]+)\.aspx");
if (myReg.IsMatch(suffixUrl))
{
isMatch = true;
int first=suffixUrl.LastIndexOf('/')+1;
int end=suffixUrl.LastIndexOf('.');
int lenght=end-first;
userId=suffixUrl.Substring(first,lenght);//获取被匹配的组部分
}
if (isMatch)
{
newurl="~/user.aspx?userId="+userId;
}
else
{
newurl = "~/Default.aspx";
}
HttpContext.Current.RewritePath(newurl); //最关键的一句话,重写Url
}
测试输入:http://xxx/urlrewrite/usre/cyq1162.aspx(地址栏显示)
成功定向到:http://xxx/urlrewrite/user.aspx?userid=cyq1162(页面内容显示)
..很简单吧..不用引入dll,也不用配置Webconfig.轻松的几行代码搞定!
asp.net 2.0 简单实现url重写
时间: 2024-12-24 21:32:46
asp.net 2.0 简单实现url重写的相关文章
asp.net 2.0 中的URL重写以及urlMappings问题_实用技巧
在asp.net2.0中的urlMappings倒是非常好用,可惜暂不支持正则表达式,不过,好在如果用IHttpModule的话 不管什么样的请求都会先经过IHttpModule这样就为URL重写提供了一个好机会: 下面是我写的一个IHttpModule: using System; using System.Web; public class ReWriteModule:IHttpModule { public ReWriteModule() { } public over
asp.net 2.0中的url映射
asp.net 介绍 url映射是asp.net 2.0的一个新的特性,它可以让开发人员把一个页映射到另一个url上.如果一个url请求过来,程序会自动把它重新映射到服务端.例如,如果你在程序中配置了把~/Beverages.aspx映射到了~/ProductsByCategory.aspx?CategoryID=1&CategoryName=Beverages,那么当用户在浏览器中输入了http://YourSite.com/Beverages.aspx,服务器会接收后会自动的转到http:/
ASP.NET 2.0如何实现URL映射教程
asp.net|教程|url映射 URL映射是ASP.NET 2.0中提供的新特性.URL映射技术帮助我们将一个特定URL映射为另一个URL.为了帮助理解,我们假设你在站点有一个叫Homepage.aspx的页面来访问主页,所有的用户也都用这个页面来访问你的主页.但由于某些原因,你要将主页改为OriginalHome.aspx.此时使用URL映射让你可以映射到新页面,而不必通知用户. 如果我们设置了URL映射,那么任何用户在URL栏输入Homepage.aspx时,调用的都是OriginalHo
asp.net不用设置iis实现url重写
说到不用设置iis,主要是为了实现在虚拟主机或是拿不到iis操作限的时候,不能添加isap又想实现类似于静态化的程序实现方式,先声明,这里最终要实现的效果是,最终可以用12345.html替换show.aspx?id=12345这样的地址访问功能,支持任意扩展名及无扩展 程序要调整的部分只有两块. 一是web.config文件. 二是链接地址. 所需urlrewrite.dll 首先下载URLRewriter:http://download.microsoft.com/download/0
asp.net不用设置iis实现url重写 类似伪静态路由_实用技巧
程序要调整的部分只有两块.一是web.config文件.二是链接地址.所需urlrewrite.dll 首先下载URLRewriter:http://download.microsoft.com/download/0/4/6/0463611e-a3f9-490d-a08c-877a83b797cf/MSDNURLRewriting.msi 下载安装后再bin目录下找到URLRewriter.dll文件 好了开始实施.第一步:将urlrewrite.dll下载到你的web程序目录里去.哪都行.我是
asp.net request.PathInfo实现的url重写_实用技巧
这种方法在<技巧/诀窍:在ASP.NET中重写URL>这篇文章提到的.简单的说,大家都知道: 复制代码 代码如下: http://www.jb51.net/product.aspx?id=520对搜索引擎的友好性肯定低于 http://www.jb51.net/product.aspx/520.htm 先截张图给大家看下: 大家看到可以取得id,而使用的方法也很简单: Request.PathInfo可以取得url扩展名的附加信息,就是可以取得/520,但我们只要那个数字,那么就是 复制代码
在 ASP.NET 中执行 URL 重写
asp.net|执行 Scott Mitchell 4GuysFromRolla.com 适用范围: Microsoft ASP.NET 摘要:介绍如何使用 Microsoft ASP.NET 执行动态 URL 重写.URL 重写是截取传入 Web 请求并自动将请求重定向到其他 URL 的过程.讨论实现 URL 重写的各种技术,并介绍执行 URL 重写的一些实际情况. 下载本文的源代码. 本页内容 引言 URL 重写的常见用法 请求到达 IIS 时将会发生什么情况 实现 URL 重写 构建 UR
asp.net用url重写URLReWriter实现任意二级域名 高级篇_实用技巧
我最近写了个小例子,大家可以先看这个,里面有小例子的完整代码下载 http://www.jb51.net/article/20906.htm 好久没有写技术文章,如果大家看不明白,就多看几篇,汗,或者,在文章的后面回复(这是最有效的办法),我会尽力帮助大家解答疑惑. 来找这篇文章的,应该都知道什么叫二级域名吧,废话就不说了.但是讨论前,先要明白一个思想问题.很多朋友一直考虑不清(我前几天也一直搞不明白)的问题是,我键入一个地址后,怎么这个url就被重写了?第一步:在浏览器键入了一个地址,比如h
Asp.Net MVC2.0 Url 路由入门
本篇文章是初识Asp.Net MVC2.0 的后续的介绍.此文将从Routing未开放源代码开始,还会对Asp.Net的Url重写技术做个简单介绍.并简单介绍Asp.Net MVC2.0 Url路由技术的使用. Url路由是MVC很重要的核心的一部分.不过它是单独于MVC项目,而且没有开源.它作为微软的一个独立的项目抽取了出来,在Asp.Net MVC中只是引用了这个dll.新建一个MVC Web项目,打开Global.asax.我们看到系统帮我们添加了using Syste