加入收藏 | 设为首页 | 会员中心 | 我要投稿 驾考网 (https://www.jiakaowang.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

掌握url重写功能在aspen.net中的应用

发布时间:2023-11-01 09:45:17 所属栏目:经验 来源:
导读:似乎熟悉却又完全陌生的“URL 重写”技术正在越来越受欢迎并被广泛应用,这主要是因为它在关注网络安全和搜索引擎优化等方面起着关键作用,而无论你采用何种编程语言或方法,“ URL 重写”都会成
似乎熟悉却又完全陌生的“URL 重写”技术正在越来越受欢迎并被广泛应用,这主要是因为它在关注网络安全和搜索引擎优化等方面起着关键作用,而无论你采用何种编程语言或方法,“ URL 重写”都会成为你的必备技能之一。REST端点格式仅有的几个字符也能让大部分人惊艳不已。

URL Rewriting的强项,就是将外表的URL,转换成内部自己看得到的URL再做处理,可以让内部的URL继续使用,又可以让外部的URL具亲和性,因此URL Rewriting现在已经逐渐成为网站开发人员必须要知道的技术之一,而且现在其实已经有很多URL Rewriting的模组可以使用了,例如UrlRewriting.Net这个套件,或是IIS 7.0中的URL Rewriting Module等。

首先,URL Rewriting是作为外部与内部URL要求的转换器,它需要过滤所有的URL,来执行重转向的动作,因此它比较适合生存在Web Server的执行过程中,以ASP.NET来说,使用HTTP Module即可处理这方面的工作(HTTP Handler较不适合)。

接者,设定处理HttpApplication.BeginRequest或是HttpApplication.AuthorizeRequest事件(多数的模组都是处理HttpApplication.AuthorizeRequest事件):

public void AppAuthorizeRequest(object sender, EventArgs e)   
{   
     (sender as HttpApplication).Context.RewritePath("~/MyHandler.aspx");   
}  
然后,在Web.config中,将这个模组挂到system.web/httpModules设定中,若是IIS 7.0,则要设在system.webServer/modules中。

<system . webServer>   
     <validation validateIntegratedModeConfiguration ="false" />   
     <modules>   
         <add name="UrlRewritingHandler" type="UrlRewritingModule" />   
     </modules>   
</system.webServer>  
然后执行这个Web Application,不论你输入哪个URL路径,都会被导向到MyHandler.aspx中(当然,你的专案中要有MyHandler.aspx这个网页)

另外,URL也不是一定要硬性的做Rewriting,部份需要排除的就不需要做Rewriting,或者你有某种格式的URL是要做重导向(HTTP 302)的话,也可以直接输出HTTP 302讯息要求浏览器重导向即可,切记,不要在URL Rewriting中加太多的判断条件,也不要在URL Rewriting中做太耗时间的事,那只会拖慢URL的处理速度(例如还要连资料库存取资料这种事)。还要连资料库存取资料这种事)。你可以直接跳过)。如果你想要一个简单的urlrewriting,那么你可以使用javascript来实现。javascript是一种可以让程序员自己编写的语言,它的好处在于自己编写的语言,它的好处在于,你可以根据需要随时调整你的代码结构,以适应不同的场景。

 

(编辑:驾考网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章