一个空间多个php网站,一个空间多个域名多个网站的办法汇总
一個空間多個域名多個網站(綁定子目錄)的辦法
很多空間支持多域名綁定,但是不支持子目錄綁定,這時我們就可以考慮如下幾種方法來實現一個空間放多個域名站點的方法,只是其他站點都需要在一個目錄下大開,但這毫不影響搜索引擎的收錄。
方法一:用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、往空間根目錄的首頁的
與之間加入5、當你輸入www.aaa.com訪問時看不到任何變化,但是當你輸入www.bbb.com訪問時,瀏覽器自動跳轉到www.bbb.com/bbb/。
這樣便實現了同一個空間安裝2個網站了,要實現多個網站可以依此類推。
或者直接在頭部添加類似如下代碼:
JavaScript代碼
if?(document.domain?=='www.bbb.com')
this.location?=?"www.bbb.com"?+?this.location.pathname?+?this.location.search;
方法二:(推薦)
用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代碼
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個站,并且利于網站管理,這樣做可以根據文件夾名,就知道這個是哪個站。
服務器一個ip的多域名站點綁定設置方法
筆者所在學校的Web服務器只有一個公網IP,但是上面運行著許多獨立域名的網站,多個獨立的域名都指向這一個公網的IP,但都能訪問自己域名對應的網站內容,這就是用一個IP地址綁定多個域名,也叫一機多“站”技術。這里用到了IIS,在Windows 2003中所使用的IIS版本已經從IIS5發展到了IIS6,所以在性能和功能上有了很大的進步。本校Web服務器用Windows 2003作為服務器操作系統,那么如何在Windows 2003系統上實現一機多“站”的功能呢?我們可以通過設置主機頭,設置默認網站,修改端口等方式來滿足一機多“站”的要求。接下來介紹一下我的方法,供大家學習使用。
我們在ISP處購買了hzhost.com的域名,第一步就是要將這個域名解析到你的IP上,假設IP地址為218.5.76.177。首先到提供域名服務企業的網站登錄,進入你的域名管理控制面板,點“英文域名管理”,在列表中找到hzhost.com并點擊“域名解析"(以本校的域名控制面板為例如圖1所示)。
接下來解析www.hzhost.com到IP:218.5.76.177。 點擊“增添主機記錄”,然后在彈出的框內輸入“www”,注意,不能輸入“www.hzhost.com”。按“確定”,然后輸入IP地址:218.5.76.177,再按“確定”,該解析就完成了,該解析一般都是實時生效,此時你可以Ping一下你的域名,如果Ping通就說明解析大功告成(如圖2所示)。
通常情況下,用戶除了用帶www的網址www.hzhost.com來訪問網站外,還喜歡用不帶www的hzhost.com來訪問,下面我們來把hzhost.com也解析到IP:218.5.76.177,還是點擊“增添主機記錄”,將出現下圖所示,此時不必輸入任何字符,直接點擊“確定”。(不輸入字符代表域名hzhost.com本身)
點擊確定后又出現IP地址輸入框,輸入IP:218.5.76.177,
然后按確定,該解析就完成了。
這樣,域名解析部分就結束了,域名www.hzhost.com和hzhost.com成功的解析到了218.5.76.177這個IP地址上。當然還有各部門的域名如辦公室為offiec.hzhost.com、團委為youth.hzhost.com,要解析的話參照上面方法完成。
接著我們新建兩個Web站點,對應域名分別為www.hzhost.com和youth.hzhost.com,名字最好和域名相對應,方便辨認和以后管理網站。
第一步:在windows2003系統桌面點“開始→管理工具”,在“管理工具”下面找到“internet信息服務(IIS)管理器”。點擊該項打開IIS6設置界面。
第二步:在Internet信息服務(IIS)管理器中我們可以看到本地計算機下有三個分支,分別為應用程序池,網站和Web服務擴展。
第三步:我們要發布的是網站,所以在“網站”上點鼠標右鍵選擇“新建→網站”,自動打開“網站創建向導”。
第四步:點“下一步”后出現網站描述窗口,由于要和域名相對應,方便以后管理網站,所以在描述信息處輸入“www學校”和下面的其他站點以示區別。
第五步:點“下一步”后來到IP地址和端口設置窗口,一般情況下IP地址處我們選擇默認的“全部未分配”即可。端口號保持默認的80,“此網站的主機頭”處輸入“www.hzhost.com”(如圖3所示)。
第六步:接著要求我們選擇默認網站文件存放路徑,我們點瀏覽按鈕然后找到該站點對應的目錄即可。
第七步:設置完正確的目錄信息后點“下一步”繼續。
第八步:在網站訪問權限處設置為“讀取”即可,如果你的站點是ASP等動態網頁的話還需要將“運行腳本”勾選上。
第九步:點“下一步”完成網站創建向導,我們的站點也發布成功。
第十步:打開IE瀏覽器后直接在地址欄輸入http:// www.hzhost.com就可以看到久違的網站了。
域名youth.hzhost.com新建站點的方法和上面的相同,只是在“主機頭”處輸入“youth.hzhost.com”就可以,其他設置完全相同。
PHP空間的方法
現在的空間,的確很便宜。但是服務質量并不過關。并且對于學生來說,如果買一個空間,可以放N個網站該多好啊。其實利用PHP是可以實現這個功能的。不但讓他運行多個網站,而且還可以實現每個網站獨立域名。
下面我把詳細的步驟說明一下。首先大家要了解一下$_SERVER['HTTP_HOST']變量。這個變量在PHP中是用來取瀏覽器中所輸入的地址的。有了他,我們就可以實現上面的功能了。
1、先把你需要的兩個域名解析到你的空間里。比如:www.***com?和?www.***.cn?兩個域名。如果有更多的域名也沒關系。方法是一樣的。
2、把默認文檔設置為index.php,當然你的空間需要是支持PHP的哦。:)
3、利用if ... else 來判斷來訪地址,并作出分析。代碼如下:
}else if($_SERVER['HTTP_HOST']=="mycalf.com"){?>
}else if($_SERVER['HTTP_HOST']=="www.456.cn";){?>
}else{?>
}?>
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/?域名得到的效果是一樣的。這樣就可以大大的增加你在GOOGLE上的搜索排名:)又何必做鬼頁呢?
其實空間麻煩的是數據庫問題,不過數據庫也是可以多個網站共享一個數據庫的,只要你不讓表名一樣就可以了。訪問起來道理差不多。OK,不多說了。PHP的應用還多著呢:)以后有時間在給大家寫東西。
(二)、PHP跳轉代碼實現一個網站空間綁定多個域名,建立多個網站
先建立一個默認主頁index.php,然后把A站放在A文件夾下,B站放在B文件夾下,C站放在C文件夾下,index.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.c.com":
header("location:c/index.php");
break;
}
?>如果用戶訪問 www.a.com?程序跳轉至 空間目錄下 a/index.php
如果用戶訪問 www.b.com?程序跳轉至 空間目錄下 b/index.php
如果用戶訪問 www.c.com?程序跳轉至 空間目錄下 c/index.php
利用一個php文件通過瀏覽器輸入的域名,判定他是要打開那個文件夾里的站點,來實現一個虛擬放置多個站點(缺點例如打開abc.com,在瀏覽器中看到的是abc.com/b因為站點在b目錄下)
其他說明:如果虛擬主機不支持子目錄綁定,這是唯一有效的辦法
JS版本
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){}
利用Javascript語言
echo "";
echo " location='網址';";
echo "";
用javascript定時刷新頁面
setInterval("window.location.href=window.location.href;",5000);
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('正在加載,請稍等...
三秒后自動跳轉~~~');
{MsgInfo}正在跳轉,請稍后......
如果沒有自動跳轉,請點這里繼續!
function Jump()
{
window.location = '{JumpUrl}';
}
document.onload = setTimeout("Jump()" , {JumpDelay} * 1000);
類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正確的鏈接地址上,
if(strripos($_SERVER['REQUEST_URI'],"_"))
{
$url="http://mcooo.com/".substr($_SERVER['REQUEST_URI'],strripos($_SERVER['REQUEST_URI'],"_")+1);
header('Location: '.$url);
}
?>
以下是跳轉代碼
最近看咨詢區里不少站長咨詢跳轉代碼的,今天給大家分享下幾種代碼寫法。
三種網頁跳轉代碼:
如果你要在服務器端跳轉,可以這樣:
Response.Redirect(www.seo-yy.com)
Response.End
如果你要在客戶端跳轉,可以這樣:
window.location="http: //www.seo-yy.com";;
如果你要讓頁面顯示幾秒鐘之后跳轉,可以在html代碼的
部分加上這樣的代碼:(3秒鐘后自動跳轉到www.seo-yy.com)
以上三種是也比較常見,比較常用的網頁跳轉代碼運行平臺Win9x WinNT Win2000 WinME WinXP。
幾段簡單的網頁跳轉代碼
不隱藏轉向之后的地址 代碼一:
loading...
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; PADDING-BOTTOM: 0px; COLOR: #0066ff; BORDER-TOP-style: none; PADDING-TOP: 0px; FONT-FAMILY: Arial; BORDER-RIGHT-style: none; BORDER-LEFT-style: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-style: none"
size=46 name=chart>
style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; COLOR: #0066ff; BORDER-BOTTOM: medium none; TEXT-ALIGN: center"
size=47 name=percent>
var bar=0
var line="||"
var amount="||"
count()
function count(){
bar=bar+2
amount =amount + line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",100);}
else
{window.location = "將這里改成要轉入的網址";}
}
不隱藏轉向之后的地址 代碼二:
不隱藏轉向之后的地址 代碼三:
不隱藏轉向之后的地址 代碼四:
可隱藏轉向之后的地址:
網頁跳轉
此代碼可以讓網頁在一定的時間內,跳轉到另外一個網頁上,其中content=" 為跳轉前停暫的秒數,rul= 為跳轉的網址
此代碼可以讓網頁在一定的時間內,跳轉到另外一個網頁上,其中content=" 為跳轉前停暫的秒數,rul= 為跳轉的網址
===================================================================
網頁跳轉===================================================================
1,頁面自動刷新:把如下代碼加入
區域中,其中20指每隔20秒刷新一次頁面.2,頁面自動跳轉:把如下代碼加入
區域中,其中20指隔20秒后跳轉到http://www.seo-yy.com頁面。===================================================================
正在進入>>> Loading>>>正在進入,請等待,謝謝......
var line = "||"
var amount ="||"
count()
function count(){
bar= bar+2
amount =amount? ???+? ???line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",10);}
else
{window.location = "http://www.****.com";}
}
===================================================================
如果要cgi的文件,可以用以下方式:
#!/usr/bin/perl
print "Content-type:text/html ";
print<
正在進入 http://www.****.com>>> Loading>>>論壇新地址: http://www.****.com!
正在進入,請等待,謝謝......
>
var line = "||"
var amount ="||"
count()
function count(){
bar= bar+2
amount =amount? ???+? ???line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",10);}
else
{window.location = "http://bbs.****.com/cgi-bin/leoboard.cgi";}
}
END
exit;
===================================================================
以 htm 可以用以下方式:
以 asp? ???可以用以下方式:
response.redirect "http://***.com/lb5000/leoboard.cgi"
%>
1. 在
區域加入代碼:
2. JavaScript
代碼:
3. JavaScript
代碼:
稍候。。。4. 帶進度條的頁面跳轉代碼
代碼:
新視聽資源共享論壇loading...
style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; PADDING-BOTTOM: 0px; COLOR: #0066ff; BORDER-TOP-style: none; PADDING-TOP: 0px; FONT-FAMILY: Arial; BORDER-RIGHT-style: none; BORDER-LEFT-style: none; BACKGROUND-COLOR: white; BORDER-BOTTOM-style: none"
size=46 name=chart>
style="BORDER-RIGHT: medium none; BORDER-TOP: medium none; BORDER-LEFT: medium none; COLOR: #0066ff; BORDER-BOTTOM: medium none; TEXT-ALIGN: center"
size=47 name=percent>
var bar=0
var line="||"
var amount="||"
count()
function count(){
bar=bar+2
amount =amount + line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",100);}
else
{window.location = "http://www.seowhy.com/";}
}
網頁跳轉方法+代碼
1. window.location
或(此法應用范圍較廣,并可應用在一般后臺編輯器中)
2. META標志
//其中content后面的阿拉伯數字是代表過幾秒中鐘轉入目標網頁。
3. 利用框架隱藏轉向地址(此方法不便用 dreamweaver 編輯,請使用記事本或其他文本編輯器處理)
知覓__朱高站請用IE瀏覽
頁面跳轉此頁面三秒后跳轉到http://***.com/cnredflag
html中跳轉最全代碼
程序代碼
正在進入正在進入,請稍等...
var bar=0
var line="||"
var amount="||"
count()
function count(){
bar=bar+2
amount =amount + line
document.loading.chart.value=amount
document.loading.percent.value=bar+"%"
if (bar<99)
{setTimeout("count()",100);}
else
{window.location = "http://blog.***.com";}
}
如果您的瀏覽器不支持跳轉,請點這里.
一個彈出窗口的代碼
浮動廣告代碼
var imagepath="http://www.seowhy.com/img/logo.gif" //這里是浮動圖片的地址
var imagewidth=171 //這兩行寫圖片的大小
var imageheight=133
var speed=3;
var imageclick="http://www.seowhy.com/" //這里寫點擊圖片連接到的地址
var hideafter=0
var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie){
var preloadit=new Image()
preloadit.src=imagepath
}
function pop() {
if(isie) {
x=x+dx;y=y+dy;
oPopup.show(x, y, imagewidth, imageheight);
if(x+imagewidth+5>screen.width) dx=-dx;
if(y+imageheight+5>screen.height) dy=-dy;
if(x<0) dx=-dx;
if(y<0) dy=-dy;
startani=setTimeout("pop();",50);
}
}
function dismisspopup(){
clearTimeout(startani)
oPopup.hide()
}
function dowhat(){
if (imageclick=="dismiss")
dismisspopup()
else
window.open(imageclick);
}
if(isie) {
var x=0,y=0,dx=speed,dy=speed;
var oPopup = window.createPopup();
var oPopupBody = oPopup.document.body;
oPopupBody.style.cursor="hand"
oPopupBody.innerHTML = '';
oPopup.document.body.οnmοuseοver=new Function("clearTimeout(startani)")
oPopup.document.body.οnmοuseοut=pop
oPopup.document.body.οnclick=dowhat
pop();
if (hideafter>0)
setTimeout("dismisspopup()",hideafter*1000)
}
總結
以上是生活随笔為你收集整理的一个空间多个php网站,一个空间多个域名多个网站的办法汇总的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于改进注意力机制的U-Net模型实现及
- 下一篇: amoeba实现mysql主从读写分离_