实践证明,伪静态比动态页面能够让搜索引蜘蛛擎更好的收录你的网站,
) l+ P( q8 s( C9 N所以很多站长都采用伪静态来优化网站,但是需要服务器安装 isapi rewrite 或者 mod rewrite
& g6 H, _5 F+ {. T; n) m2 o
对于许多使用虚拟主机的站长,由于服务器不支持 url rewrite, 伪静态很难实现。
0 G z7 V0 I* h6 C
& P9 B4 i, Z; ^6 m1 n- a! z把这段代码插入你需要伪静态的页面,就可以实现了
3 D) |0 o; N7 G) S6 S) y2 J+ I& G6 t; ^# ~
1.单参数
0 v/ u+ T# C2 s" u2 R
功能:
+ f# \/ w5 g: m N; h2 W! r
把:
www.123.com/index.asp?id=123/ { |7 h5 j$ H. f) d3 S0 Z7 h3 l- d
伪静态为:
www.123.com/index.asp?/123.html& T/ o, ~) u; y2 B
, \7 q; R$ E" I2 k8 @代码:
( ~& i; w* F; G; X* r- y-------------------------------
+ U2 v: q4 t5 W) O5 P<%
2 l8 S" s) n/ I* [0 z( q4 Sid=request.QueryString("id")
' g* T$ D7 }* J! U1 u* j
If id="" Then
3 x9 | V; [' k% ]- T1 vserversc=Request.ServerVariables("QUERY_STRING")
& P: Q7 h3 M/ S1 Bid=replace(serversc,"/","")
+ y% V8 j! a: Y* J5 \* e
id=replace(id,".html","")
" c- I% i' M- p* l g
End If
9 k" z }! t. F" M; C
%>
" }' ~6 V x5 ]+ M
-------------------------------
& `" O( T) v1 h' {9 a6 H* r4 g
. ` W. W+ E, r% s
$ K0 l& f, ]' _, A; q q% v" |2.多参数
: i& w( l( j; t功能:
# \8 {5 [0 t( h& Z0 i! I }
把:
www.123.com/index.asp?id=123&page=1&order=2
' }+ I \) @5 l2 r" v伪静态为:
www.123.com/index.asp?/123-1-2.html
- F, C# S4 M8 j# X1 d, |
5 o$ P6 l: B$ d/ Y* J
& B) S$ m. p/ B' U/ y代码:
7 n u7 x) B1 G0 t/ I9 i
-------------------------------
/ H+ I/ x/ }* i; ]<%
8 D) e# c# |' _6 @# } l
If id="" and page="" and order="" Then
. W4 ]& W4 Z3 i M! C* c
serversc=Request.ServerVariables("QUERY_STRING")
! V A. o4 j) C0 w3 P
id=replace(serversc,"/","")
# K7 Y2 {! G# v# P# y3 X& X
id=replace(id,".html","")
8 _3 h3 [/ B( z, s: j
arr=split(id,"-")
1 ?: ?. P! e2 U4 W
id=arr(0)
3 B" E" ~' B0 a0 F; D6 zpage=arr(1)
- G6 I7 s( i6 ^. ]0 P
order(2)
" f( j' `0 R- C0 S8 [0 [
End If
2 ?6 g5 K& d/ \6 t3 l
%>
( s) P9 E6 a3 U w-------------------------------
- u# E& i7 Z1 R- W1 J4 F J% E# h
使用方法: 把代码加到需要传递参数的asp页的 类似于
. p6 {: G: b5 |% Y) _
"id=request.QueryString("id") " 代码后面就可以了
3 {) Q: u$ o! O' o$ v请把 id, page, order 修改你所需要的参数即可。
6 ^, [# m5 D7 S c$ u. }% o. P u3 a5 w. G$ W9 P: S5 L/ a
或者是
$ p9 V; e" s. K" x! D* k, F
; y3 z- Z+ F2 J准备工作:建立文件index.asp、文件夹showarticle、在文件夹showarticle中建立文件index.asp
4 M! O8 B; t% U5 P; T
0 Y: b0 J, @3 w4 \- N7 _+ `
<html>
& o' \/ r2 k1 M/ C
<head>
' A& Z; F; d4 F
<title>======index.asp======显示文章列表文件</title>
1 D: d3 k& T$ } A</head>
. z+ c9 z; _8 t. {<body>
. Q8 j; m, L0 l9 ~<%
# f& F+ e$ n: \- v! G% i'数据库调用代码,此处省略
& V6 T5 c" U7 L+ d
%>
: \# t) C* t, Q# c+ \) h# Q( Y
<li><a href="showarticle/?<%=rs("id1")%>-<%=rs("id2")%>.htm"><%=rs("title")%></a></li>
) S% F {/ }! M, c
</body>
; W9 P5 ]+ u$ Q0 v. F) ~* M: s
</html>
. p: q8 w/ S0 p, o+ p s y
$ Y5 L) b9 o" G' Z6 ?' x
<html>
& N- B w/ R0 c- g" Z8 ^<head>
/ V) | t$ Z' m8 w<title>======showarticle/index.asp======显示文章内容文件</title>
7 _0 Q3 z" o. \8 N' q5 a; m</head>
0 a3 F$ X2 b' ~% a# P+ o
<body>
n: ~' k/ I$ E" V. R+ E8 l( m
<%
" O) `; ?- J/ K! q ~. P# g( I3 N
Dim value1,value2,id1,id2
. y8 z- g9 v4 o6 h* y
value1=replace(Request.ServerVariables("QUERY_STRING"),".htm","") '获得?后面的参数
1 ~+ T) Y5 o) b8 X: F! j
value2=split(value1,"-") '对参数进行过滤,从而获得id1和id2的值
& \: n) O) G2 d( W o' eid1=value2(0)
/ f( h" h5 e' A6 v! h( ^2 `id2=value2(1)
, X. J; J2 }7 X% i5 k
'接下来调用数据库,并显示内容,跟动态ASP一样
7 K3 |4 {) Z1 W/ `# s%>
9 d2 ?; ?' V8 ]6 `9 F5 w</body>
( Z9 Q q; z# V1 k1 L; X
</html>
* Q0 J/ h& {- O0 Q' q" ^
0 B0 i3 \. P: ] 原理分析:首先利用Request.ServerVariables("QUERY_STRING")取得?后的参数,比如showarticle/?1-2.htm接收的就是1-2.htm,然后再对1-2.htm进行过滤,我们需要得到的参数是1和2,接下来再到数据库中去检索1和2,就跟动态ASP一样。