有些朋友为了省钱需要在一个空间上安装多个网站,所以在空间上绑定了好几个域名,但是访问到的却是相同的内容,怎么样让不同的域名访问不同的内容呢?[虚拟主机本身支持子目录绑定域名的不在讨论之列]
方法一:(这种方法在网络上使用很普遍)
js实现一个空间安装多个网站的方法
1、在空间上分别绑定 www.dns35.cn和 www.bbk.cn
2、把 www.dns35.cn 网站文件传到根目录,把 www.bbk.cn 网站传到 ./bbk/ 目录
3、把下面的代码保存为 domain.js ,然后上传到空间根目录
程序代码
switch(location.host){
case 'www.bbk.cn:
location.href=http://www.bbk.cn/bbk/
break;
}
4、往空间根目录的首页的 <head> 与 </head> 之间加入
程序代码
<script language='javascript' src='http://blog.163.com/libin5506@126/blog/domain.js'></script>
5、当你输入www.dns35.cn 访问看不到任何变化,但是当你输入www.bbk.cn 访问,浏览器自动跳转到 www.bbk.cn/bbk/ 。这样便实现了同一个空间安装两个网站了,要实现多个网站可以依此类推。
方法二:(本人推荐)
用server.Transfer("")来实现一个空间多个站的方法您先将您所有的域名绑定到您的虚拟主机上,然后将虚拟主机根目录中的index.asp
(首页asp文件)里加入下列代码就可以了:
<%
sn=lcase(Request.ServerVariables("SERVER_NAME")) '用于获取用户是通过哪个域名访
问的,并转换成小写
if sn='www.dns35.cn' or sn="dns35.cn" then server.Transfer("default1.asp")
if sn='www.1t.hk' or sn="1t.hk" then server.Transfer("index.html")
%>
看明白了吧,如果访问者输入的域名是www.dns35.cn或dns35.cn的话,就访问default1.asp页面,如果是用1t.hk或www.1t.hk的话就调用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个站,并且利于网站管理,这样做可以根据文件夹名,就知道这个是哪个站。
================================================================================
如果你和我一样抠门,只有一个空间,但是你又想绑定多个域名,建多个独立的站点,现在我就让你的幻想成为现实!
如果只有一个ASP空间,而你又想放置多个多个站点,这些代码可以帮到你
第一个
程序代码
<%
if Request.ServerVariables("SERVER_NAME")="www.yxer.com" then
response.redirect "index.htm"
else
response.redirect "index2.htm"
end if
%>
第二个
程序代码
<%
select case request.servervariables("http_host")
case "www.yxer.com"
Server.Transfer("index.htm")
case "www.mei0.com"
Server.Transfer("index2.htm")
case "www.yxer.com"
Server.Transfer("index3.htm")
...... 继续添加 ......
end select
%>
第三个
程序代码
<%
if instr(Request.ServerVariables("SERVER_NAME"),"0/'>www.yxer.com")>0 then
response.redirect "index.htm"
elseif instr(Request.ServerVariables("SERVER_NAME"),"0/'>www.mei0.com")>0 then
response.redirect "index2.htm"
elseif instr(Request.ServerVariables("SERVER_NAME"),"0/'>www.yxer.com")>0 then
response.redirect "index3.htm"
end if
%>
第四个
程序代码
<%
if Request.ServerVariables("SERVER_NAME")="www.yxer.com" then
response.redirect "index.htm"
elseif Request.ServerVariables("SERVER_NAME")="www.mei0.com" then
response.redirect "index2.htm"
elseif Request.ServerVariables("SERVER_NAME")="www.yxer.com" then
response.redirect "index3.htm"
end if
%>
第五个
程序代码
<%
if Request.ServerVariables("SERVER_NAME")="www.yxer.com" then
Server.Transfer("index.htm")
elseif Request.ServerVariables("SERVER_NAME")="www.mei0" then
Server.Transfer("index2.htm")
elseif Request.ServerVariables("SERVER_NAME")="www.yxer.com" then
Server.Transfer("index3.htm")
else
Server.Transfer("other.htm")
end if
%>
这是一段很有用的代码,和绑定多域名的ASP代码类似,如果你只有一个PHP空间,而你又想放置多个多个站点,下面这些
代码可以帮到你
第一个:
程序代码
if($HTTP_HOST=="www.yxer.com"){
Header("Location: index.htm");
}
elseif($HTTP_HOST=="www.mei0.com"){
Header("Location: index2.htm");
}
else{
Header("Location: other.htm");
}
第二个:
程序代码
if($HTTP_HOST=="www.yxer.com"){
require "index.htm";
}
elseif($HTTP_HOST=="www.mei0.com"){
require "index2.htm";
}
else{
require "other.htm";
}
如果你的空间是纯静态空间,而你又想放置多个多个站点,能不能实现呢?可以的要命,下面这些代码可以帮到你
js实现一个空间安装多个网站的方法
1、 把下面的代码保存为 domain.js ,然后上传到空间根目录
以下是代码片段:
switch(location.host){
case ’www.yxer.com’:
location.href="http://blog.163.com/libin5506@126/blog/http://www.yxer.com/index.htm"
case ’www.mei0.com’:
location.href="http://blog.163.com/libin5506@126/blog/http://www.yxer.com/index2.htm"
break;
}
2、往空间根目录的首页的 <head> 与 </head> 之间加入
<script language='javascript' src='http://blog.163.com/libin5506@126/blog/domain.js'></script>
当你输入 www.yxer.com 访问时看不到任何变化,但是当你输入 www.mei0.com 访问时,浏览器自动跳转到www.yxer.com/index2.htm 。 这样便实现了同一个空间安装2个网站了,要实现多个网站可以依此类推。
PHP 空间的操作手法:
第一种代码:(测试成功,但后缀出现目录名)
1、两个网站分别建两个目录!如main 和 bbs 2、根目录下做一个文件,命名为index.php 3、index.php文件如下: <?php //以下域名中文部分请自行填写完整,如www.abc.com switch ($_SERVER['HTTP_HOST']) { case '第一个域名' : header('Location: http://第一个域名/main'); break; case '第二个域名' : header('Location: http://第二个域名/bbs'); break; default: header('Location: http://第一个域名/main'); break; } ?>
第二种代码:(未测试)
<?php
switch ($_SERVER["HTTP_HOST"]) {
case "www.mm153.com]":
header("location:bbs/");
break;
case "mm153.com":
header("location:bbs/");
break;
case "sex.mm153.com":
header("location:index.html");
break;
case "pic.530mo.com":
header("location:/bbs");
break;
case "bbs.530mo.com":
header("location:/index.jpg");
break;
}
?>
资源均来自第三方,谨慎下载,前往第三方网站下载