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

作者:无名 - 网络编程 -
最近dv上有人提到server.transfer(url),突然想到经常有人问的关于urlrewrite地址映射技术,如果条件允许的话,server.transfer也能做一个假的地址映射

前提是主机要支持自定义404错误,否则下边的你不用看了!

假设我使用一个静态地址来访问我的某个页面,如:http://blog.goalercn.com/article/100.html(其实这个地址所对应的页面根本就不存在,因此就会自动显示404.asp页的内容),而实际显示的是http://blog.goalercn.com/article/article.aspid=100的内容,怎么弄呢?
先配置主机的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")相应的文章数据

有点投机取巧的意思 ,大概这么说一下我想都能明白了吧,不明白的人我也不说了 !

声明一下:我没有测试,虽然偶的服务器支持这些东西,但偶懒得去弄,确实没什么意思。有没有错误我也不知道,有错请指正!

补充:还是写一下吧
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

 

IT人知识库 该篇知识地址:http://www.itpeo.net/12746/370597.html





锁定表列

<HTML><HEAD><TITLE>锁定表格栏位范例网页</TITLE>... ...

用ASP编程实现网络内容快速查找

有一天我突发奇想,要是我每到一个网站,那里都能立刻调出我需要看的信息,那岂非美妙得很。接下来我想更深入地考虑这个问题,坐... ...

批处理文件(Batch File)里的Substring操作

以前并不知道还可以有这样的用法: C:\>echo %date% 2005-05-10 星期二... ...

asp实现WEB打印代码大全

(1)<script defer>  function SetPrintSet... ...

rfedfre

图解正确认识和安装驱动程序上

第一部分如何正确的认识和安装驱动  前言,大家都知道每当装完系统后都要安装一些驱动,包括,主板,显卡,声卡,网卡,USB... ...

网吧Windows XP母盘制作详解

网吧母盘制作分为5部分请大家阅读:   (做系统之前把游戏都在老系统更新了以防有碎片垃圾) ... ...

网吧3个绝对罕见但使工作方便的命令

注意:我只是在2000sp4上面使用,其他系统没有测试1 强制刷新组策略(同时也刷新了注册表) :secedit /re... ...

电脑使用变慢七大原因全解析

相信绝大多数用户在使用电脑的过程中都会发现电脑越用越慢,而其中的大部分人会抱着“慢就慢点儿吧”的心理继续使用,殊不知这样... ...

修复系统还有这招SFC使用方法

SFC(System Files Checker,系统文件检查器)。以管理员身份登录Windows XP,将Window... ...

微软Windows系统的常用命令集

winver---------检查windows版本 wmimgmt.msc----打开windows管理体系结构(wm... ...

rfedfre

另类玩法 让你的键盘开口说话

键盘是我们最常用的输入工具,无论你怎么敲击它,它都是默默无语。但Windows XP/2000提供的“讲述人”,它就能让... ...