网库网(www.wangkuwang.com)精品网站源码,织梦建站模版,游戏源代码分享平台

模板户源码

当前位置:首页 -> CMS教程 -> zblog教程 正文

一个虚拟机如何放2个域名2个网站?

时间:2018-02-10 23:05:18 [整站源码]作者:zhaopulei



        很多空间支持多域名绑定,但是不支持子目录绑定,可以考虑如下几种方法来实现一个空间放多个域名站点的方法,只是其他站点都需要在一个目录下大开。


【方法一】:用js跳转

在空间上分别绑定www.aaa.com和www.gzlongtengfei.com

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

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


JavaScript代码


switch(location.host){    

casewww.gzlongtengfei.com:   

location.href="www.gzlongtengfei.com/bbb/"  

break;   

}


往空间根目录的首页的<head>与</head>之间加入


<scriptlanguage=javascriptsrc="/bbb/domain.js"></script>


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


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


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


<script language=javascript>

if (document.domain ==www.gzlongtengfei.com/)

this.location = "www.gzlongtengfei.com/" + this.location.pathname + this.location.search;

</script>  


【方法二】:(推荐)用server.Transfer("")来实现一个空间多个站的方法


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

<%   

sn=lcase(Request.ServerVariables("SERVER_NAME")) 用于获取用户是通过哪个域名访问的,并转换成小写   

if sn="www.gzlongtengfei.com/" or sn="abc.net" then server.Transfer("default1.asp")    

if sn="gq.gaoqiwenda.com/" or sn="def.net" then server.Transfer("index.html")    

%>   


效果:如果输入的域名是www.gzlongtengfei.com/或gzlongtengfei.com/的话,就访问default1.asp页面,如果是用gq.gaoqiwenda.com或gaoqiwenda.com/的话就调用index.html文件。


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


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


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


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

方法是利用一个asp文件通过浏览器输入的域名,判定是要打开那个文件夹里的站点,来实现一个虚拟放置多个站点(缺点例如打开www.gzlongtengfei.com,在浏览器中看到的是www.gzlongtengfei.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个站,并且利于网站管理,这样做可以根据文件夹名,就知道这个是哪个站。


【方法四】:PHP空间的方法


利用PHP是可以实现这个功能的。不但让他运行多个网站,而且还可以实现每个网站独立域名。下面把详细的步骤说明一下。


1、首先了解一下$_SERVER[HTTP_HOST]变量。这个变量在PHP中是用来取浏览器中所输入的地址的。可以实现上面的功能了


先把你需要的两个域名解析到空间。比如:www.gzlongtengfei.com 和 gq.gaoqiwenda.com 两个域名。如果有更多的域名也没关系。方法是一样的。


2、把默认文档设置为index.php,当然空间需要是支持PHP的哦。


3、利用if ... else 来判断来访地址,并作出分析。

代码如下:

<?if($_SERVER[HTTP_HOST]=="www.gzlongtengfei.com";){?>

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.gzlongtengfei.com/main">

<?}else if($_SERVER[HTTP_HOST]=="mycalf.com"){?>

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.gzlongtengfei.com/main">

<?}else if($_SERVER[HTTP_HOST]=="gq.gaoqiwenda.com";){?>

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://gq.gaoqiwenda.com/home">

<?}else{?>

<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http:/gq.gaoqiwenda.com/home">

<?}?>


4、完成

这里要说明的一点是,有的时候域名是用大写的,那么就需要对$_SERVER[HTTP_HOST]这个变量进行处理,来让他把所有的字符转换成小写。

  代码如下:

<?

$querystring = preg_replace(array("/()/","/_/"),array("","-"),$_SERVER["QUERY_STRING]);

$I = strtolower(trim($_SERVER[HTTP_HOST]));

?>


  如果是这样写,就需要把上面的<?if($_SERVER[HTTP_HOST]=="www.gzlongtengfei.com";){?>这句变为<?if($I=="www.gzlongtengfei.com";){?>,这样就可以在输入网址是大写的时候,也可以正常访问了。


这个方法也有一个不足点,就是需要在域名后面跟一个目录名。但是如果你不怕乱的话,也可以把两个网站都放到根目录下。但是推荐是每个网站一个目录。现在许多空间商,都支持5个以内的域名的解析。这样就可以买一个空间,拥有5个网站了。


这个办法的优势也是有的,他每个域名都是可以访问其他网站的,比如输http://www.gzlongtengfei.com/home/ 与访问http://gq.gaoqiwenda.com/ 域名得到的效果是一样的。


其实空间麻烦的是数据库问题,不过数据库也是可以多个网站共享一个数据库的,只要不让表名一样就可以了。访问起来道理差不多。OK。

 

【方法五】:PHP 跳转代码实现一个网站空间绑定多个域名,建立多个网站。(一般网站都适用)


先建立一个默认主页index.php,然后把A站放在A文件夹下,B站放在B文件夹下,C站放在C文件夹下,index.php网页文件如下

<?php

switch ($_SERVER["HTTP_HOST"])

{

case "www.a.com":

header("location:a/index.php");

break;

case "www.b.com":

header("location:b/index.php");

break;

case "www.boaer.com":

header("location:cboaer/index.php");

break;

}

?>

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

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

如果访问 www.boaer.com 程序跳转至 空间目录下 boaer/index.php

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


其他说明:如果虚拟主机不支持子目录绑定,这是唯一有效的办法

JS版本

<script>try {if( self.location == "http://域名一/" ) {

top.location.href = "http://域名一/目录";

}

else if( self.location == "http://域名二/" ) {

top.location.href = "http://域名二/目录";

}

else if( self.location == "http://域名三/" ) {

top.location.href = "http://域名三/目录";

}

else if( self.location == "http://域名四/" ) {

top.location.href = "http://域名四/目录";

}

else {document.write ("错误的访问地址")}} catch(e){}</script>


利用Javascript语言

echo "<scriptlanguage=javascript>";

echo " location=网址;";

echo "</script>";

用javascript定时刷新页面

<script type="text/javascript">

setInterval("window.location.href=window.location.href;",5000);

</script>

window.location.Reload()应该是刷新.(如果有数据提交的话,会提示是否提交的(是和否选项))

window.location.href=window.location.href;

最好不要用location.reload(),而用 location=location比较好,还有在模式窗口(showModalDialog和 showModelessDialog)前者不能用。

X秒自动跳转

header("refresh:3;url=http://www.gzlongtengfei.com");

print(正在加载,请稍等...<br>三秒后自动跳转~~~);

<p>{MsgInfo}正在跳转,请稍后......</p>

<p>如果没有自动跳转,请点<ahref="{JumpUrl}"><strong>这里</strong></a>继续!</p& gt;

<META HTTP-EQUIV="refresh" CONTENT={JumpDelay};URL={JumpUrl}>

<script language="javascript">

function Jump()

{

window.location = {JumpUrl};

}

document.onload = setTimeout("Jump()" , {JumpDelay} * 1000);

</script>


【方法六】:类goto.php跳转使用方法简析


看下演示

http://www.a.com/goto.php?url=http://www.b.com/

可以直接跳到b网站,但是又不算外链。

使用方法是个goto.php文件,传到ftp空间根目录,把www.a.com改成你的域名,后面b的改成外链地址就可以了

把下面的存为goto.php

<? $url=$_GET["url"];header("Location:".$url);?>

更换永久链接

如链接是:mcooo.com_a.com

在头部加上以下代码让他自动跳转到a.com正确的链接地址上,

<?php

if(strripos($_SERVER[REQUEST_URI],"_"))

{

$url="http://baidu.com/".substr($_SERVER[REQUEST_URI],strripos($_SERVER[REQUEST_URI],"_")+1);

header(Location: .$url);

}

?>



如果我们都是dede的爱好者,那建议用【方法五】即可。个人感觉比较方便!

“攻城狮与产品喵
长按二维码可识别关注
微信号:gzlongtengfei



去看看我们是做什么的!有免费评测系统可以节省你很多时间!

 

投诉



本文标签:AutoTags插件服务端需要您提供购买者的账号和密码才能继续访问  折翼天使  莎莎源码  吾爱源码  其他源码 

转载请注明来源:PHP手机端发卡多种支付商业版源码

本文永久链接地址:https://www.suibianlu.com/11942.html

郑重声明:
本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。
若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。
如无法链接失效或侵犯版权,请给我们来信:admin@suibianlu.com

栏目导航
最新文章
热门文章
Top