EasyASP v2.2新功能介绍(2):用Easp实现伪URL Rewrite
|
由于是模仿Rewrite,所以这里有个特殊的条件,就是只能在当前页进行URL 的映射,比如你不能把/main.asp?list-45.html映射到/single.asp? t=$1&id=$2上。所以,推荐使用Easp.Rewrite来进行设置。 对于具体的使用方法,我们来看下面一段示例代码:
在设置了以上的规则之后,如果在浏览器里输入: http://www.ambox.cn/blog.asp?testuser/2010/01/12345.html 效果将等同于: http://www.ambox.cn/blog.asp? username=$1&year=2010&month=01&id=12345 这意味着你仍然可以使用 Easp.Get("username") 来获取username参数的值 。同样的,你输入 /?photo-3.html ,也同样可以使用 Easp.Get("type") 来取 得 "photo",用Easp.Get("page")来取得 "3"。采用这样的方式之后,对于开发 者来讲就完全没有任何负担,你不需要做任何特殊的设置,即使你对重写正则不 了解,在规则不生效的情况下你仍然可以通过传统的用 & 连接url参数的方 式访问页面而不会产生任何程序错误。 3、EasyASP对伪URL Rewrite的补充方法 为了配合Easp的伪Rewrite,Easp还有两个方法可以减少开发者在使用伪 Rewrite时编写更多的代码。 第一个方法是: Easp.IsRewrite 这个方法可以判断当前页面访问的地址是否是已经生效的URL重写后的地址, 返回一个布尔值。 第二个方法是: Easp.ReplaceUrl param, value 这个方法可以替换当前页URL参数中的某个值,并返回一个新的URL,比如还 是用刚才的例子,用下面的地址访问: http://www.ambox.cn/blog.asp? username=$1&year=2010&month=01&id=12345 那么,使用这个方法可以得到下面的结果
而用这个地址: http://www.ambox.cn/blog.asp?testuser/2010/01/12345.html 则会返回替换后的URL重写地址
Easp的分页中就使用了这个方法,所以在你使用Easp的URL重写后分页链接中 也能准确的链接至重写后的URL地址,而使用传统的URL Rewrite组件的话,这个 链接的地址是需要你自己去分析和重新拼接的。 4、小结 使用伪url重写到底有什么好处呢? 首先我可以肯定的是,对SEO是有帮助 的,这个从华夏智慧网那里已经得到了印证(我和他们的开发人员深入的聊过这 个问题);其次,正则中的参数匹配更严格,可以更安全的控制URL参数,比如 在(d+)的URL规则中,输入 ' 等注入带注入特征的符号肯定是不被正常解析的 。EasyASP提供的这种看似简陋的伪重写模式,我相信还是有用武之地的,比如 网友 智者千虑 基于 Easp v2.2 开发的 http://www.114msn.com ,其中就大 量的用到了 Easp.Rewrite。 Easp v2.2的更多功能,期待你的挖掘。 (编辑:佛山站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |

