虚位以待(AD)
虚位以待(AD)
首页 > 网络编程 > ASP编程 > 用ASP内建对象轻松做网址域名自动跳转(下)

用ASP内建对象轻松做网址域名自动跳转(下)
类别:ASP编程   作者:码皇   来源:互联网   点击:

用ASP内建对象将旧域名的所有页面都自动转向新域名相对应的页面,以免流量流失。

上一篇文章《用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("http://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("http://www.icoa.cn"&ur&num)
end if
%>

相关热词搜索: ServerVariables 域名跳转 网址跳转 自动跳