设计动量论坛's Archiver

ofly 发表于 2007-3-21 17:00

ASP/PHP实现主机头多域名转向的方法

ASP:R\8N]MyUm?t
1.使用CASE语句,缺点:同一域名即@和www需要两次循环,代码显重复
b3v5o'zb W <%?)|N,m6A*}
host=lcase(request.servervariables("HTTP_HOST"))"Bq-U8C8D)E;|1A-jf
select CASE host w(H(ct Ao
CASE "www.abc.com"
[_@h0Otl\ response.redirect "index.htm"
P2]s/v b,P0o CASE "abc.com"
'ZHMG&jst response.redirect "index.htm""Kv9Que WT
iu Y{nGIGU
CASE ELSE_ i#B\~#L.u
response.redirect "other.htm"
X s,A0D |!y!Wc END select
7h]$`-u)k D\/YA %>
nrJi0L5~ --------------------------WZw&t.o4Q3F5d.OT
<%if instr(Request.ServerVariables^m c,g-]#g-R^{ {
("SERVER_NAME"),"kekexi.com")>0 then#?/Ei q2gw
response.redirect "index.asp"
&q!^6L2X] A4t1W h!e else if instr(Request.ServerVariables
G3V5[,HcF ("SERVER_NAME"),"4668.com")>0 then L `1[9pod
response.redirect "x/index.asp"
}r+w&K7X-] T/p5~\_@ else if instr(Request.ServerVariables
[0J}9lG}k.S ("SERVER_NAME"),"web315.com")>0 thenr ~{9F$S"K9g,B~
esponse.redirect "index3.asp"
yx~dQ"I Q | end if
y;Myy6[1b9f&ag end if
;X.zP*ig
n4Z^+rE1sx -----------------------]zK\ d!h6T ]7w{
<%if Request.ServerVariables("SERVER_NAME")="www.yyjs.com" thenO r6~p%o"re
response.redirect "zkj"-`;uj0n5O2E"z
elsej!ce x4Fd$Xv[
response.redirect "i.htm"J N#O ccYk*F
end if%>4E*z6ABAL[
e[*Q je4M e
----------------------------N0]N5vN3S#E3W4C
<%if Request.ServerVariables("SERVER_NAME")="www.yyjs.com" then
{R]lG'v J)^ response.redirect "index1.asp"
IC{z;\2{&Ji b else if Request.ServerVariables("SERVER_NAME")="www.ce.org.cn" then
&e6f^Do)xVjSQ response.redirect "index2.asp"!q&},~ B6`|!V
else if Request.ServerVariables("SERVER_NAME")="www.163.com" then
5{S5k zZ`*o@o\ response.redirect "index3.asp"
R1R[ CJ{)pkD"c end ifp4`b)G(s \
end if6`y`y#c
end if%> I aa&Q%d|4ZV`'D
C2Bsxo|#I g

b]'?|!@ii c
`O5P.p5q*r#qMB 2.为解决上述问题,可以加条件判断加上www. 这样就可以自动识别www前缀:
w8R)~(H6M[
$Z-z#U;o T?y Q <%
5g6]c2fwW'[&S dim domain2ne'q:YNF-i5q
domain=request.ServerVariables("Server_Name")/^1G'}ND TC`@
if instr(domain,"www.") then domain=right(domain,len(domain)-4)
vW*NbN)D if domain="abc.com" then|}.i:c"cG
response.redirect "1/""Yt j0IQzz Ie
elseif domain="123.com" then
\.\0^6PXw response.redirect "2/"
m0m6Cd/c| else
HXy:mk4\d-h response.redirect "3/"
h o,b [;}(dq;hvh end if
;XE+A&\KPVB;_s %>
St yXI2k ;OwR%C/i1Y;PE&T
3.
3\B ~Q"E
u d r@1w1xfn E ====================================h;o~ lePv"X#c0@
PHP:e(b*Lw sZ
1.多个|L?cpS
)]I,X O rJ]DL,p
<?phpJ5iQ+h~^6r-xhs;@
$domain_net="abc.com";
X4bOq;A W8S}O $dot_net_url="目录1/";
Y Z}NX-d`6r $dot_com_url="目录2/";
a([_B_? if(($HTTP_HOST=="$domain_net")or($HTTP_HOST=="www.$domain_net"))@ h6Y@5b3n T
{v$nj+l#S;z@ o
Header("Location: $dot_net_url");3M*]h)_$Y8uR ^7|
}
~5X&J-HZU else
wEyU{9{[al;T {
6kP|#H2S"N Header("Location: $dot_com_url");
ueO[$}^[a/EC }
CR$tl2Wlr ep ?>\8AT+U0m&K!V/p
C&j Wj)G$X0q
<?php'y5v6[QcHBuxp
switch ($_SERVER["HTTP_HOST"]) {
LMp HPel8f6f case "ychon.org":
/\&ap1O8F)w"p header("location:bbs");
Z6eL+sei;d'b` break;
A_ mL+]bS default:
.[k y }!y header("location:news");ma9X K*Ph
break;0H pO]0Pu'T
}
H&m K'O S@v ?>
;o'y^})pR E e p{Wp)Yg&l0U
2.单个 4@Fs8]xC
<?-e\6wzWTV
Header("Location: [url]http://www.ychon.org"); &mO V g7XL0J)Z;E\
?>
k0Lx0GV:M 或:aJ Z)T#C.[x+y
<?%GGaCI2I2J!eK
echo "<#1 http-equiv=refresh content='0; url=http://www.ychon.org'>"; 7aTk(B4}8X/D
?>
)i\#\5Ep.~~6f'O$Q 还可以这样用:
)@ p5Y\ F}X4~ <?
-@G"j [i header("refresh:3;url=http://web.com");c\M8m0G!Y7LxF
?>N@%t6uA}to;R3I
注意:使用Header函数时必须网页未产生任何输出,此时尤其要注意空格的问题。即必须放在网页最开
@hWq$CA
lA"y Hd$M8l,B y 始处。D.h(^Yfz

,FXN:W0R^ ====================================
7Ts ~2](U9Wv2X Java Script : #``\l2{H'g2SST
_ S$T^M\^
<script>try { if( self.location == "http://玉米一/" ) {"|u6v0o6E1@'V_
top.location.href = "http://玉米一/目录";8^(X&R3|;U3}:z
}0d$~o4ur5_(l#J
else if( self.location == "http://玉米二/" ) {8X z3bk.m+B \
top.location.href = "http://玉米二/目录";
vvJF;Q%Ok#aP }o'X(CjDFw
else if( self.location == "http://玉米三/" ) {V~#W9j ^]
top.location.href = "http://玉米三/目录";&~KP9F#`*^
}cw }2gu_o i3]{
else if( self.location == "http://玉米四/" ) {
K a:@Ol$O3[$x top.location.href = "http://玉米四/目录"; K?oAY5c%Gp
}#S7H2Kl*z6]
else { document.write ("错误的访问地址") } } catch(e) { }</script> e Pu!ON)UQwd
Rm'R\$J~+nk

e'l2y,DOb)qX&~ -------------------------------------
nXSp(FC G;r 8K rl1~J"S)]
<script language="javascript">
'} S3B n/Uc1s th switch (window.location.hostname) {'a:\ E!ytb9l0Zu6T2C
case "test" ://确定玉米为TEST-_0nF/}a(^
window.location.pathname="1"//跳转到1目录
0Ut:b#N{i,j break;1X(b'Sp,Vvx
case "127.0.0.1" ://确定玉米为127.0.0.1
@OmY_` window.location.pathname="2"//跳转到2目录]:R9[)nlj2d
break;#sbU6^RK
//依次类推写下去
&p` D r,~(X default ://如果没有找到该玉米
z}7bAh,y,}D1t window.location.pathname="3"//跳转到3目录 LD7WF#esq!N-I
}`!Aott7J
</script>
WyG|2r.MKNjF :]cZ5P/[U
f5E @DBu1Iyl
location对象有以下几个属性:'f;f!An'[l
c9tP*u u8zh
hash 设置或获取 href 属性中在井号“#”后面的分段。IJZ)qR]
host 设置或获取 location 或 URL 的 hostname 和 port 号码。
h V J\nWi hostname 设置或获取 location 或 URL 的主机名称部分。;Qt%W9{,OG
href 设置或获取整个 URL 为字符串。
w wh%ZRK P&XQX pathname 设置或获取对象指定的文件名或路径。
;|QXF9v4c port 设置或获取与 URL 关联的端口号码。
!QuK#bHT2pq protocol 设置或获取 URL 的协议部分。 W%x5w*WK4vy9e,a.?
search 设置或获取 href 属性中跟在问号后面的部分。

页: [1]

Powered by Discuz! Archiver 7.0.0  © 2001-2009 Comsenz Inc.