源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

关于Server.Transfer(URL)和UrlReWrite的一个突发奇想

  • 时间:2021-03-17 08:10 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:关于Server.Transfer(URL)和UrlReWrite的一个突发奇想
最近DV上有人提到Server.Transfer(Url),突然想到经常有人问的关于UrlReWrite地址映射技术,如果条件允许的话,Server.Transfer也能做一个假的地址映射 前提是主机要支持自定义404错误,否则下边的你不用看了!
[url=http://blog.goalercn.com/attachments/month_0512/2005122057636049.gif][img]http://blog.goalercn.com/attachments/month_0512/2005122057636049.gif[/img] [/url]
假设我使用一个静态地址来访问我的某个页面,如:[url=http://blog.goalercn.com/article/100.html]http://blog.goalercn.com/article/100.html[/url](其实这个地址所对应的页面根本就不存在,因此就会自动显示404.asp页的内容),而实际显示的是[url=http://blog.goalercn.com/article/article.asp?Id=100]http://blog.goalercn.com/article/article.asp?Id=100[/url]的内容,怎么弄呢? 先配置主机的404错误页:假设为404.asp,这里要使用asp扩展名的(为了能执行ASP脚本) 在404.asp页面中,先获取当前来源页的URL,从URL里来取得我们需要的ID参数,随便用一下简单的正则或是用INSTR,MID之类的配合使用,都可以轻松取得这个ArticleID,这里我就不写了 这样我们就得到了这个文章的ID编号:ArticleID,但是这里有一个问题,Server.Transfer(Url)里的这个Url是不可以带参数的,且这个Url必须为同一服务器上的页面,因此我们就需要用Session来传递一下这个ArticleID Session("ArticleID") = ArticleID Server.Transfer("article.asp") article.asp页上接收这个Session("ArticleID"),从数据库中读出这个Session("ArticleID")相应的文章数据 有点投机取巧的意思 [img]http://blog.goalercn.com/images/smilies/01.gif[/img] ,大概这么说一下我想都能明白了吧,不明白的人我也不说了 [img]http://blog.goalercn.com/images/smilies/35.gif[/img] ! 声明一下:我没有测试,虽然偶的服务器支持这些东西,但偶懒得去弄,确实没什么意思。有没有错误我也不知道,有错请指正! 补充:还是写一下吧 Dim PageUrl,ArticleID PageUrl= Request.ServerVariables("URL") Dim regExp Set regExp = New RegExp regExp.IgnoreCase = True regExp.Global = True RegExp.Pattern="/article/([\s\S]*?).html"  ArticleID=RegExp.Replace(PageUrl,"$1")  SET regExp=Nothing [b][/b] 
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部