ASP二级域名程序(对,没错,不是URL转发)V2

@老徐  July 8, 2007

级域名与与转发的区别就在于,比如:
http://www.0411ln.cn/index.asp
二级域名将转向到http://www.0411ln.cn/index.asp
URL转发会到http://www.0411ln.cn/

也就是说二级域名也可以当作一个域名来看待,现在网上有好多URL转发的程序,我写了个二级域名的程序,好了,闲话少说,代码说话~~

实现原理很简单:
首先,网站根目录下要放一个index.asp文件用于地址的转发
其次,要有个404.htm,名字可以随便取,但在虚拟主机上一定要把它设成默认404错误页,我们主要的域名解析就靠它了,呵呵~
最后,要有个真正的404错误页,叫它true404.htm

第一版代码:
404.htm

<script language=vbscript>
    const Domain="0411ln.cn" //改成你的域名(需支持泛解析)
</script>
<script language=javascript>
    function getURL()
    {
        return location.href;
    }
    function href(val)
    {
        if (val=="")
        {
            return location.href;
        }
        else
        {
            location.href=val;
        }
    }
</script>

<script language=vbscript>
    url=geturl()
    url=replace(url,"http://","")
    host=left(url,instr(url,"/")-1)
    secDomain=left(host,len(host)-len(Domain)-1)
    extUrl=right(url,len(url)-len(host))
    exturl=replace(exturl,"&","%26")
    href("index.asp?secDomain="+secDomain+"&extUrl="+extUrl)
</script>

index.asp

const Domain="0411ln.cn" //改成你的域名(需支持泛解析)
const frontURL="http://domain.0411ln.cn/" //改成你的网站地址

serverName=Request.ServerVariables("SERVER_NAME")
extURL=Request.ServerVariables("SCRIPT_NAME")


if request("extURL")="" and request("secDomian")="" then
    secDomain=left(serverName,len(serverName)-len(Domain)-1)
else
    secDomain=request("secDomain")
    extURL=request("extUrl")
end if


select case secDomain
case ""
    response.redirect frontURL&extURL
case "www"
    response.redirect frontURL&extURL
case "ftp"
    response.redirect "ftp://172.16.69.81"
case "05jb"
    response.redirect frontURL&"05jb"&extURL
case else
    response.redirect "true404.htm" //404错误页面
end select

修正第一版中的一些Bug:
1、二级域名后不跟地址只会转到 域名+index.asp
2、不存在的地址不会显示404错误
3、输入不存在的地址造成404转向死循环
第二版代码:
404.htm

<script language=vbscript>
    const Domain="royee.com"
    const frontURL="http://domain.0411ln.cn/"
</script>

<script language=javascript>
    function getURL()
    {
        return location.href;
    }
    function href(val)
    {
        if (val=="")
        {
            return location.href;
        }
        else
        {
            location.href=val;
        }
    }
</script>


<script language=vbscript>
    url=geturl()
    url=replace(url,"http://","")
    host=left(url,instr(url,"/")-1)
    secDomain=left(host,len(host)-len(Domain)-1)
    extUrl=right(url,len(url)-len(host))
    exturl=replace(exturl,"&","%26")
    href(frontURL&"index.asp?secDomain="+secDomain+"&extUrl="+extUrl)
</script>

index.asp

const Domain="0411ln.cn" //改成你的域名(需支持泛解析)
const frontURL="http://domain.0411ln.cn/" //改成你的网站地址

secDomain=request("secDomain")
extURL=request("extUrl")

select case secDomain
case ""
    url= frontURL&extURL
case "www"
    url= frontURL&extURL
case "ftp"
    url= "ftp://172.16.69.81"
case "05jb"
    url= frontURL&"05jb"&extURL
case "nod32"
    url= frontURL&"nod32"&extURL
case else
    url= "true404.htm" //404错误页面
end select


if url<>frontURL then
    response.redirect (url)
else
    host=request.servervariables("http_host")
    response.redirect (frontURL&left(host,len(host)-len(Domain)-1))
end if

trur404.htm自己制作

请各位指正

---------------------------------以上内容来自http://blog.gu999.com.cn--------------------
-----------------------------------------转载请标明出处,谢谢:)---------------------


添加新评论