广安信息港

当前位置:

在上看到很多朋友在as

2019/07/12 来源:广安信息港

导读

10:59 来源:中国IT实验室 :Google

10:59 来源:中国IT实验室 :Googler【纠错】人评论

A-A+ 怎么开淘宝店 站优化方法 创业如何获得投资 小米note顶配版评测 LOL活动

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

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

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

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

以下为引用的内容:

protected void Application_BeginRequest(Object sender EventArgs e){ string oldUrl = wUrl ; string pattern = @^(.+)default/(\d+)\.aspx(\?.*)*$; string replace = $px?id=$2; if(Match(oldUrl pattern noreCase | piled)) { string newUrl = place(oldUrl pattern replace piled | noreCase); writePath(newUrl); }}

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

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

查看更多相似文章

景德镇治疗性病医院哪家好
益阳颌面外科医院哪家好
阳江有哪些生殖中心医院
保定有哪些整形科医院
标签