资源下载 - 从此开始!

下载我_精品源码软件教程资源网

您的位置:主页 > 网络编程 > 正文

asp.net利用Global.asax.cs轻松实现url重写(url Rewrite)

2018-10-09 10:02 来源:互联网 编辑:admin

url重写(url Rewrite)

url重写可以美化地址,一个长长的带有N个参数的地址,通过url重写,便可以使用很短的很友好的地址来访问,极大地增强了用户使用体验。现在很多网站都是采用url重写实现了伪静态,从而达到优化SEO的目的。

Global.asax.cs轻松实现url重写

就asp.net而言,实现url重写的方法有很多,比如使用组件实现、通过IIS来实现等,但这些实现方法对于使用虚拟空间的用户来说就有所局限,因为这些用户是不能在虚拟空间的服务器安装组件,也不可能去设置IIS的。

本文介绍的方法正是满足了使用虚拟空间的用户,它不需要安装任何组件,不需要在服务器做任何配置,它所要做的操作,仅仅是在Global.asax.cs加入一段代码。如下:

void Application_BeginRequest(Object sender, EventArgs e)
    {
        string oldUrl = HttpContext.Current.Request.RawUrl;
        string pattern = @"/([^/]+?).html$";
        string replace = "/default.aspx?q=$1";
        if (Regex.IsMatch(oldUrl, pattern, RegexOptions.IgnoreCase | RegexOptions.Compiled))
        {
            string newUrl = Regex.Replace(oldUrl, pattern, replace, RegexOptions.Compiled | RegexOptions.IgnoreCase);
            this.Context.RewritePath(newUrl);
        }
    }

Application_BeginRequest这个方法内的代码就是你所要添加的代码。这里一般使用正则表达式来说明重写规则。如上述代码,它实现的是把default.aspx?q=******.html来代替,比如原地址如何是http://www.abc.com/default.aspx?q=www.baidu.com,那么通过上述代码重写后,就可以用如下地址来访问了:http://www.abc.com/www.baidu.com.html。

上述只是一个例子,你可以根据自己的实际情况编写规则以满足自己的实际需要。

特别说明:如果你用的是asp.net2005,是没有Global.asax.cs这个文件的,你需要添加Global.asax这个文件,然后在这个文件里加入Application_BeginRequest这个方法,代码跟上面给出的一样。(如何在asp.net2005添加Global.asax文件?

打赏一下,我们会为大家提供更多优质资源!

相关文章,95%的人会看!{有内幕、有真相...}

看过本文的人还看过

微信扫一扫

站长微信账号