最近有站长朋友说想再建个网站,让大家讨论在考虑成本的基础上有莫有好点的方法?
一般的个人建站,大多数都是租用虚拟空间的,租服务器不太现实!有朋友就提出了,在一个空间里是否能放下两个或者多个网站呢?怎么来实现呢?接下来我们就来谈谈相关问题吧!!
有些朋友为了在一个空间上安装多个网站,就在空间上绑定了好几个域名,但是访问到的却是相同的内容,怎么样让不同的域名访问不同的内容呢?
如果一个空间放多个站,会使输入域名后,地址栏上面加上站点所在文件夹的名字。举个例子,如输入www.51growup.com地址栏会跳成www.51growup.com/abc
abc即为这个站所放在空间里的文件夹名字。
方法一:(这种方法在网络上使用很普遍)
js实现一个空间安装多个网站的方法
1、在空间上分别绑定 www.aaa.com 和 www.bbb.com
2、把 www.aaa.com 网站文件传到根目录,把 www.bbb.com 网站传到 ./bbb/ 目录
3、把下面的代码保存为 domain.js ,然后上传到空间根目录
程序代码
switch(location.host){
case 'www.bbb.com':
location.href="http://www.bbb.com/bbb/"
break;
}
4、往空间根目录的首页的 <head> 与 </head> 之间加入
程序代码
<script language='javascript' ></script>
5、当你输入www.aaa.com 访问看不到任何变化,但是当你输入www.bbb.com 访问,浏览器自动跳转到 www.bbb.com/bbb/ 。这样便实现了同一个空间安装两个网站了,要实现多个网站可以依此类推。
方法二:(本人推荐)
用server.Transfer("")来实现一个空间多个站的方法
您先将所有的域名绑定到您的虚拟主机上,然后将虚拟主机根目录中的index.asp(首页文件)里加入下列代码就可以了:
<%
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网页文件如下
<%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个站,并且利于网站管理,这样做可以根据文件夹名,就知道这个是哪个站。