上一篇文章《用ASP内建对象轻松做网址域名自动跳转(上)》介绍了如何用ASP的ServerVariables做网址首页的自动跳转,但是对于有内页而且有参数的动态内页如何跳转呢?
对于更改了域名的网站来说就不仅仅是做首页自动跳转了,需要对旧网址里所有页面一一对应的跳转到新的域名的相对页面。
以本站来举例,如果用ASP动态页面来说,要实现这些,首先读取访问的当前页面文件的地址,然后读取当前页面的参数,最后转向新域名的相对页面文件的相对参数。比如我们让所有类似icoa.cn/show.asp?id=311的页面都转向www.icoa.cn/show.asp?id=311。
首先用url读取当前页面文件的地址:
url=request.ServerVariables("url")
以本站为例,内页是类似于Show.asp?id=311的地址,而url只能读取当前页面文件的地址,也就是url读取的只是show.asp。所以需要接着读取页面的参数:
num=request("id")
这样我们根据上一章的内容可以写出如下的代码:
<%
num=request("id")
dim site,url
url=request.ServerVariables("url")
site=Request.ServerVariables("Server_name")
if site="icoa.cn" then
response.Redirect("https://www.icoa.cn"&ur&"?id="l&num)
end if
%>
这样就可以实现从icoa.cn/show.asp?id=311转向www.icoa.cn/show.asp?id=311,但是似乎缺点什么,没错不够智能化,对于没有数字参数的或者参数不是id的网页,却又不能正确转向了。
那么我们就可以做一个判断,判断是否有参数,然后再做相应的判断。对于如果访问的是首页的话,类似于icoa.cn/index.asp转向www.icoa.cn,而不显示www.icoa.cn/index.asp。
假设我们的参数有三个,分别是id/classid/ArticleID那么代码就可以这样写:
<%
dim site,url,id,classid,ArticleID,num
id=request("id")
classid=request("classid")
ArticleID=request("ArticleID")
url=request.ServerVariables("url")
site=Request.ServerVariables("Server_name")
if id<>"" then '如果id参数有效不是空的
num="?id="&id '将num赋值为:?id=xxx
end if
if classid<>"" then '如果classid参数有效不是空的
num="?classid="&classid '将num赋值为:?classid=xxx
end if
if articleid<>"" then '如果articleid参数有效不是空的
num="?articleid="&articleid '将num赋值为:?articleid=xxx
end if
if url="/indx.asp" then '如果页面是首页
url="" '将url赋值为空
end if
if site="icoa.cn" then
response.Redirect("https://www.icoa.cn"&ur&num)
end if
%>
下一篇:用ASP隐藏IP末位完整版
上一篇:ASP字符串InStr函数用来判断是否含有某些字符串
- 相关文章 -
XP安装IIS5.1提示HTTP 500 内部服务器错误打不开ASP - 2010-01-08
isNull、isEmpty和""空字符串的区别 - 2011-08-18
“ASP技术”关键词在Google竟然有排名了 - 2011-07-25
【ASP学习之一】循序渐进学留言薄 - 2009-11-23
301重定向ASP代码 ASP的301重定向代码 - 2010-11-24
ASP错误代码表及原因 - 2009-08-04
An error occurred on the server ASP出错无法显示 - 2010-11-10
ASP利用FSO打造最简单的访问计数器 - 2010-10-11
- 文章评论 -
- 最新评论[0条评论] -
版权所有©逍遥峡谷 - 星际中心超自然局 · 地球总部 |
逍遥峡谷 ·
酷品优选
Copyright©Interstellar Central Occult Agency (I.C.O.A)
本局纯属虚构,如有雷同,纯属巧合