① 2個域名2個網站共用一個空間的方法
很多空間支持多域名綁定,但是不支持子目錄綁定,可以考慮如下幾種方法來實現一個空間放多個域名站點的方法,只是其他站點都需要在一個目錄下大開。
方法一:用js跳轉
在空間上分別綁定www.aaa.com和www.bbb.com
把www.aaa.com網站文件傳到根目錄,把www.bbb.com網站傳到./bbb/目錄
把下面的代碼保存為domain.js,然後上傳到空間根目錄
javaScript代碼
switch(location.host){
case'www.bbb.com':
location.href="http://www.boaer.com/bbb/"
break;
}
往空間根目錄的首頁的<head>與</head>之間加入
<scriptlanguage='javascript'src="/bbb/domain.js"></script>
當輸入www.aaa.com訪問時看不到任何變化,但是當輸入www.bbb.com訪問時,瀏覽器自動跳轉到www.bbb.com/bbb/。
這樣便實現了同一個空間安裝2個網站了,要實現多個網站可以依此類推。或者直接在頭部添加類似如下代碼:
<scriptlanguage=javascript>
if(document.domain=='www.boaer.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"))'用於獲取用戶是通過哪個域名訪問的,並轉換成小寫
ifsn="www.abc.net"orsn="abc.net"thenserver.Transfer("default1.asp")
ifsn="www.def.net"orsn="def.net"thenserver.Transfer("index.html")
%>
效果:如果輸入的域名是www.abc.net或abc.net的話,就訪問default1.asp頁面,如果是用def.net或www.def.net的話就調用index.html文件。
網上還有一些教程是用response.redirect來實現轉向,但在這里建議使用server.Transfer("")來實現這個功能,好處有以下幾個方面:
不會出現頁面跳轉,直接輸入網址後,網址後不會帶任何文件,訪問者不會看出你的兩個網站是放在同一虛擬主機上。
server.Transfer("")不會阻擋搜索引擎對你的網站的收錄,而response.redirect可不一定。
方法三:(最方便管理,一個空間放的站越多越推薦)
方法是利用一個asp文件通過瀏覽器輸入的域名,判定是要打開那個文件夾里的站點,來實現一個虛擬放置多個站點(缺點例如打開abc.com,在瀏覽器中看到的是abc.com/b因為站點在b目錄下)
其他說明:如果虛擬主機不支持子目錄綁定,這是非常有效的辦法
實現方法如下 :先建立一個默認主頁index.asp
然後把A站放在A文件夾下,B站放在B文件夾下,C站放在C文件夾下。
index.asp網頁文件如下 :
ASP/Visual Basic代碼
<%ifRequest.ServerVariables("SERVER_NAME")="www.a.com"then
response.redirect"a/index.asp"
elseifRequest.ServerVariables("SERVER_NAME")="www.b.com"then
response.redirect"b/index.asp"
elseifRequest.ServerVariables("SERVER_NAME")="www.c.com"then
response.redirect"c/index.asp"
else
response.redirect"aaa/index.asp"
endif%>
代碼作用說明:
如果用戶訪問 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是可以實現這個功能的。不但讓他運行多個網站,而且還可以實現每個網站獨立域名。下面把詳細的步驟說明一下。首先了解一下$_SERVER['HTTP_HOST']變數。這個變數在PHP中是用來取瀏覽器中所輸入的地址的。可以實現上面的功能了
先把你需要的兩個域名解析到空間。比如:www.***com和www.***.cn兩個域名。如果有更多的域名也沒關系。方法是一樣的。
把默認文檔設置為index.php,當然空間需要是支持PHP的哦。:)
3、利用if ... else 來判斷來訪地址,並作出分析。代碼如下:
<?if($_SERVER['HTTP_HOST']=="www.123.com";){?>
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.123.com/main">
<?}else if($_SERVER['HTTP_HOST']=="mycalf.com"){?>
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://123.com/main">
<?}else if($_SERVER['HTTP_HOST']=="www.456.cn";){?>
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.456.cn/home">
<?}else{?>
<META HTTP-EQUIV="Refresh" CONTENT="1;URL=http://www.456cn/home">
<?}?>
4、完成
這里要說明的一點是,有的時候域名是用大寫的,那麼就需要對$_SERVER['HTTP_HOST']這個變數進行處理,來讓他把所有的字元轉換成小寫。
代碼如下:
<?
$querystring = preg_replace(array("/()/","/_/"),array("","-"),$_SERVER["QUERY_STRING]);
$I = strtolower(trim($_SERVER['HTTP_HOST']));
?>
如果是這樣寫,就需要把上面的<?if($_SERVER['HTTP_HOST']=="www.123.com";){?>這句變為<?if($I=="www.123.com";){?>,這樣就可以在輸入網址是大寫的時候,也可以正常訪問了。
這個方法也有一個不足點,就是需要在域名後面跟一個目錄名。但是如果你不怕亂的話,也可以把兩個網站都放到根目錄下。但是推薦是每個網站一個目錄。現在許多空間商,都支持5個以內的域名的解析。這樣就可以買一個空間,擁有5個網站了。
這個辦法的優勢也是有的,他每個域名都是可以訪問其他網站的,比如輸http://www.123.com/home/與訪問http://www.123.cn/域名得到的效果是一樣的。
其實空間麻煩的是資料庫問題,不過資料庫也是可以多個網站共享一個資料庫的,只要不讓表名一樣就可以了。訪問起來道理差不多。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.163.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://.com/".substr($_SERVER['REQUEST_URI'],strripos($_SERVER['REQUEST_URI'],"_")+1);
header('Location: '.$url);
}
?>
② 兩個不同的域名放在同一空間上,能否共用同一個資料庫。
可以共用同一個資料庫,如果兩個都是用phpweb建的站,安裝phpweb的時候把數據表前綴設置為不一樣就可以了。
③ 一個php空間綁定兩個不同域名仿問不同的網站
建議採用單入口結構,所有頁面請求的都是首頁index.php文件,並在首頁index.php通過$_SERVER['SERVER_NAME']來獲取當前域名,然後根據域名來判斷輸出不同的內容。理論上來講這其實還是一個網站,只不過對於用戶來說看到的是不同模板,不同內容,感覺就是多個網站了。
④ 我想在我的PHP空間建兩個獨立的網站,具體怎麼操作
購買的空間不可能達到你的要求。
⑤ 一個空間可以放2個網站嗎
不出意外的話是可以的。
1.看一下你的空間是支持什麼樣的程序的,使用什麼樣的資料庫。
如果是asp的空間=那就找一下ASP的主站程序+一個ASP的購物程序
2.如果是php的,那就得用php的建站程序和購物系統了。
這個建出來的站只能用子目錄訪問。
如果網站支持子目錄綁定。那你就可以用兩個不同的域名分別指向兩個網站了。
⑥ php空間如何讓多個網站共用一個空間
1.域名都指上去
2.每個網站分個目錄
3.做個入口文件或者.htdaccess來做跳轉到各個域名的網站
如果你所有的站點都是同一框架下開發的話,可以在框架的入口文件配置
⑦ ASP網站和PHP網站能放在一個空間里嗎(在線等)
只要空間支持兩種語言,並且支持所需資料庫,那麼你放多少個站都沒問題。網站之間不會相互影響,不存在穩定問題。但是空間的性能決定網站的穩定性,訪問量增加,空間的性能就會下降,無論一個站還是多個。
⑧ 用php怎麼實現 空間綁定兩個網站!
綁定網站這種事情應該是和nginx打交道, 綁定域名.用nginx來解析指定的目錄中去.
⑨ 兩個網站放到一個空間里,是php的
你這個不對嘛。。。
1、你標題上說是php的,怎麼又變成asp的?到底是asp的,還是php的,還是兩個都支持呢?
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;
}
?>
如果是asp,你那個寫錯了吧,是 Request.ServerVariables("HTTP_HOST")
⑩ php一個空間怎麼做好幾個網站
要建立虛擬目錄吧
滿意請採納