陈德馨

不用子目录绑定域名,一个空间放两个网站的方法

663人参与 |分类: 站长百科|时间:2013年01月07日 16:15

很多空间支持多域名绑定,但是不支持子目录绑定,这时我们就可以考虑如下几种方法来实现一个空间放多个域名站点的方法,只是其他站点都需要在一个目录下大开,但这毫不影响搜索引擎的收录。

方法一:用js跳转

1、在空间上分别绑定 www.aaa.com 和 www.bbb.com

2、把 www.aaa.com 网站文件传到根目录,把 www.bbb.com 网站传到 ./bbb/ 目录

3、把下面的代码保存为domain.js,然后上传到空间根目录

JavaScript代码:

switch(location.host){
case'www.bbb.com':
location.href="http://www.bbb.com/bbb/"
break;
}

4、往空间根目录的首页的 <head> 与 </head> 之间加入以下代码:

<scriptlanguage='javascript'src="/bbb/domain.js"></script>

5、当你输入 www.aaa.com 访问时看不到任何变化,但是当你输入 www.bbb.com 访问时,浏览器自动跳转到 www.bbb.com/bbb/ 。

这样便实现了同一个空间安装2个网站了,要实现多个网站可以依此类推。

或者直接在头部添加类似如下代码:

JavaScript代码:

<script language=javascript>
if (document.domain =='www.bbb.com')
this.location = "www.bbb.com" + this.location.pathname + this.location.search;
</script>

方法二:(推荐)

用 server.Transfer("") 来实现一个空间多个站的方法。

您先将您所有的域名绑定到您的虚拟主机上,然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:

ASP/Visual Basic代码:

<%
sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访问的,并转换成小写
if sn="www.abc.net" or sn="yuxicn.net" then server.Transfer("default1.asp")
if sn="www.def.net" or sn="zxks.net" then server.Transfer("index.html")
%>

看明白了吧,如果访问者输入的域名是 www.abc.net 或 abc.net 的话,就访问 default1.asp 页面,如果是用 def.net 或 www.def.net 的话就调用 index.html 文件。

网上还有一些教程是让您用response.redirect来实现转向,但在这里,我建议您使用 server.Transfer("") 来实现这个功能,好处有以下几个方面:

1、不会出现页面跳转,直接输入网址后,网址后不会带任何文件,访问者不会看出你的两个网站是放在同一虚拟主机上。

2、server.Transfer("") 不会阻挡搜索引擎对你的网站的收录,而 response.redirect 可不一定。

方法三:(最方便管理,一个空间放的站越多越推荐)

这个方法是利用一个asp文件通过浏览器输入的域名,判定他是要打开那个文件夹里的站点,来实现一个虚拟放置多个站点(缺点例如打开 abc.com,在浏览器中看到的是 abc.com/b 因为站点在b目录下)

其他说明:如果虚拟主机不支持子目录绑定,这是非常有效的办法。实现方法如下:

可以这样,你先建立一个默认主页 index.asp

然后把A站放在A文件夹下

B站放在B文件夹下

C站放在C文件夹下

index.asp网页文件如下:

ASP/Visual Basic代码:

<%if Request.ServerVariables("SERVER_NAME")="www.a.com " then
response.redirect "a/index.asp"
elseif Request.ServerVariables("SERVER_NAME")="www.b.com " then
response.redirect "b/index.asp"
elseif Request.ServerVariables("SERVER_NAME")="www.c.com " then
response.redirect "c/index.asp"
else
response.redirect "aaa/index.asp"
end if%>

代码作用说明:

如果用户访问 www.a.com 程序跳转至 空间目录下 a/index.asp

如果用户访问 www.b.com 程序跳转至 空间目录下 b/index.asp

如果用户访问 www.c.com 程序跳转至 空间目录下 c/index.asp

如果用户访问 没有指定的 程序跳转至 空间目录下 aaa/index.asp

怎么样,简单吧。

elseif Request.ServerVariables("SERVER_NAME")="www.b.com " then
response.redirect "b/index.asp"

这段是可以无限复制的哦,一个虚拟主机放几百个站点就是你自己设置的了。只要把域名都绑定在你的虚拟主机上,然后设置这个域名所绑定的站点就OK了。

这种要看你的虚拟主机能绑多少个域名。能绑100个的话就能放100个站,并且利于网站管理,这样做可以根据文件夹名,就知道这个是哪个站。

来源:陈德馨博客(微信/QQ号:35435164),转载请保留出处和链接!

地址:

必填

选填

选填

◎已有 0 人评论,请发表您的观点。