用server.Transfer(」")來實現一個空間多個站的方法1 p4 T/ q8 i% _; z9 q4 _
+ X* y0 p6 _; K7 H0 V, B2 ]
您先將您所有的域名綁定到您的虛擬主機上,然後將虛擬主機根目錄中的index.asp(首頁文件)裡加入下列代碼就可以了:
& A$ i# D E% F# N# y' o' T% L3 b$ e8 t) m7 E
<%
1 i1 V$ S1 p, _+ D& C! l3 nsn=lcase(Request.ServerVariables(」SERVER_NAME」)) 『用於獲取用戶是通過哪個域名訪問的,並轉換成小寫
( g D: w& |! J8 x, ]if sn=」www.abc.net」 or sn=」yuxicn.net」 then server.Transfer(」default1.asp」)) q' P* Z6 p% d$ \9 v. P
if sn=」www.def.net」 or sn=」zxks.net」 then server.Transfer(」index.html」)' o/ j4 H% Y& \* J
%>( V" j& [: B$ v0 K' L
! Z6 f* J& U: K# D
3 E# E; m) [# P+ ^1 z2 _3 O" p看明白了吧,如果訪問者輸入的域名是www.abc.net或abc.net的話,就訪問default1.asp頁面,如果是用def.net或www.def.net的話就調用index.html文件。
3 Y4 L! l" K( V* ~+ E4 w! @* ]1 R; u7 q. o. F
網上還有一些教程是讓您用response.redirect來實現轉向,但在這裡,我建議您使用server.Transfer(」")來實現這個功能,好處有以下幾個方面:
/ {0 }& d. Q; K4 e! T
C8 Z y) l6 E: ?0 I1、不會出現頁面跳轉,直接輸入網址後,網址後不會帶任何文件,訪問者不會看出你的兩個網站是放在同一虛擬主機上。- M3 m8 R: n$ G8 O/ N, Y% y9 u: Z
2、server.Transfer(」")不會阻擋搜索引擎對你的網站的收錄,而response.redirect可不一定
1 ~' u4 O- e$ k# M$ y' ~: D
5 N) B$ C" y6 ~0 N( y, Z4 W" E, |' s方法二:(最方便管理,一個空間放的站越多越推薦,本人也經常這樣做。)) X: D$ Z5 {1 C, f0 x
, b5 j/ R+ O% w( o; G4 f1 r7 z( x我的方法是利用一個asp文件通過瀏覽器輸入的域名,判定他是要打開那個文件夾裡的站點,來實現一個虛擬放置多個站點(缺點例如打開abc.com,在瀏覽器中看到的是abc.com/b因為站點在b目錄下)
* D1 p; d+ p3 v2 d
( B1 t$ i, N0 y, P0 H" A其他說明:如果虛擬主機不支持子目錄綁定,這是非常有效的辦法
# |% A( J- F& n1 C+ T$ l& ?9 \
5 `1 o) b5 F" u7 n. @/ u實現方法如下& B% ?2 b- X2 g
- `* Y4 |) o" u' _' [' I' Y
可以這樣,你先建立一個默認主頁index.asp
, R" E8 B: H4 A+ Y然後把A站放在A文件夾下
! B' } U$ e* k) C, Y- XB站放在B文件夾下+ b5 ]: C! L! {, U* `, ^5 z/ ?
C站放在C文件夾下: W: N, s4 n9 ]4 v8 X9 ~: S/ q
" `& r: {; U0 N( @, W% s4 i! Hindex.asp網頁文件如下0 u, e& A; X9 d6 j
2 A$ f( c. v5 o" r# R' C$ \<%if Request.ServerVariables(」SERVER_NAME」)=」www.a.com 」 then
6 A4 v0 O# G# Z5 Y. Zresponse.redirect 「a/index.asp」
- ?9 O8 F/ u9 r- g2 Felseif Request.ServerVariables(」SERVER_NAME」)=」www.b.com 」 then4 Z5 Z1 L% ]7 ~- ]/ Y) n
response.redirect 「b/index.asp」8 {2 e' a: B, V& G9 i; H6 P! c! Z
elseif Request.ServerVariables(」SERVER_NAME」)=」www.c.com 」 then2 `$ U$ p% N' p% w$ O/ U: {$ [
response.redirect 「c/index.asp」: T7 k5 ~# H+ d3 a3 B
else
* q8 Y$ d0 V7 j5 n$ Sresponse.redirect 「aaa/index.asp」4 [7 T+ h8 {* x/ r4 D
end if%>
2 o" {7 h9 S# F! I+ T( e. d Z) O0 \4 B8 P+ B' u& D+ r8 {
如果用戶訪問 www.a.com 程序跳轉至 空間目錄下 a/index.asp
: q& j. C( [# S( Z ]5 z如果用戶訪問 www.b.com 程序跳轉至 空間目錄下 b/index.asp
) o5 F1 d. G8 @2 [2 Z; J: Y3 }如果用戶訪問 www.c.com 程序跳轉至 空間目錄下 c/index.asp" u; k N- D2 l1 I0 Y
如果用戶訪問 沒有指定的 程序跳轉至 空間目錄下 aaa/index.asp t2 {1 P: Q. q7 w5 p
5 Z* v3 {- O3 U. Z2 [2 q怎麼樣,簡單吧。% g; E+ m0 i. a* Y4 _
, s) d" s0 S+ T- u$ w* ]: K
elseif Request.ServerVariables(」SERVER_NAME」)=」www.b.com 」 then3 @/ S+ R6 E7 `! Y3 x1 B: b1 J
response.redirect 「b/index.asp」
+ Z8 B. D; r9 X2 B1 h! J3 E% S( S% u) C
這段是可以無限複製的哦,一個虛擬主機放幾百個站點就是你自己設置的了
7 ^0 ~6 Z. g5 ~7 S: G# M6 ^只要把域名都綁定在你的虛擬主機上,然後設置這個域名所綁定的站點就OK了0 t" `, a D" H' y( l% J) x
" {' j: H _7 L( A) z" n* A7 C- w) ]
這種要看你的虛擬主機能綁多少個玉米。能綁100個的話就能放100個站,並且利於網站管理,這樣做可以根據文件夾名,就知道這個是哪個站3 p( [2 Y3 G, [8 Y* ]2 K R) c
+ V. _ n3 x9 N2 r; b; Z+ n1 K
來源:http://dingzong88.cn/2009/05/one-space-multi-site/ |
|