|
|
此方法仅在windows下 IIS+MYSQL+PHP环境中测试过,其他环境未测试过,但原理基本相同。
0 \2 T; K+ u, o0 j* n+ d* \4 n6 C4 y9 `& G4 o# d
首先是配置Rewrite组件:/ A, I2 `+ w3 g) E& s5 ^
1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下。: X) q" y# z% m6 R l* @5 G5 L
+ j# F( n! B% E+ [
$ A) B ?; i. E q2、在“IIS管理器”里选择网站,右键,属性。. _+ M; X6 E) ~$ i( s$ t9 H
) V! m% v) u p7 [: w
" }8 P2 X3 K* X1 b( {3、选择“ISAPI”,点击“添加”。+ N( W6 [5 c! \9 x, ~' k) U
3 a7 E V& I4 D* L3 F
7 z, }; G% Z% ~4、填入筛选器名称,如“rewrite”。0 l/ `7 h+ N8 e- i2 y& x( |8 N2 d W
. J2 F1 B% i9 h$ C/ L/ [6 Z3 T' f" a( _1 B; o4 l$ C7 D
5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。( z& ~+ ~. K N* s6 h
8 v3 e8 F, S. @! R& T( E$ R: k
/ i- c2 _7 v( c1 S6、确认选择正确后,点击“确定”。! b: Z4 F9 e& }
% [; H; u) @( j9 |3 j6 N
- N6 g, O" T' f, A+ N" n0 I7 v9 L
7、点击“确定”,完成筛选器添加。3 m+ m6 x' [, X G# a
% a1 F1 f# A3 X( ^
; r- X* S* i2 [ o8、重启IIS。
, a. D4 \+ e3 O4 v1 O( K( w |9 N0 Q+ P
! |( h; j; J; W& K$ m2 k4 w2 K- t
* ^* N9 f9 X8 K7 O- E
; P- P" f1 p/ S$ W+ ~
, z' _' c g0 L
9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。' [: T3 l3 z( |4 W$ l' K+ w
+ P) ]# X& D* M# V1 W4 V9 \. ~- O; h: Q: X* S+ \
IIS Rewrite 规则设置
$ Z& e ?9 O; }7 F1 D, m* x解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可,本程序中自带httpd.ini文件,只需将域名改为你的域名即可。
1 \( I9 ~6 M2 t; T3 C. i, `& K$ ?: i* z
然后登录后台,全局-网站功能-URL静态化-是。
! ` f+ `+ g3 N7 f& U6 @
0 o/ S, A" [$ q2 D& T0 y& r按照上面的方法重启IIS,然后就OK了。
7 G4 |4 b2 T8 u4 u
F: ] x* G5 K0 ^5 z7 s切记,如果是自己架设的服务器,一定要重启IIS,否则可能无效。如果是购买的虚拟空间那就不需要了,因为一般都是linux的空间,所有插件都配置好的。% ]# R# H: F; C
5 d* O9 o% V4 n _) V8 i7 t( bhttpd.ini文件配置规则:
l ?0 `$ e3 `$ n. ?! Q& T: o$ n+ r6 l; u+ o* [
将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html可以这样写:1 w' J# t3 q* \" o" z
RewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3( G/ o, o6 n9 y) g0 r. \
个人备注:
3 J# |& }% h: r7 i+ N! P这里的$1, $2, $3就是前一个表达式的匹配值- ~+ u" { l5 V) P9 z
比如:" H) a+ {1 \' p2 K' m, ^0 `" e
^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2* u" ~5 w8 x7 w5 C0 y
中对应的颜色对应相应的值!- Y1 _9 e: W e0 o
|
|