|
|
此方法仅在windows下 IIS+MYSQL+PHP环境中测试过,其他环境未测试过,但原理基本相同。( h1 ?9 q: b, z1 ?: S/ O
- V0 t! Q: {7 O" h( ]! T3 o
首先是配置Rewrite组件:
& W5 |$ o# G [6 v4 P1、将下载的 IIS Rewrite 组件解压,放到适当的目录(如 C:Rewrite)下。
+ `& E6 |- F" K8 n/ p$ m5 }, m
) F3 i H7 q# P+ d1 l# y9 `( p( l2 t0 K' }! f7 w
2、在“IIS管理器”里选择网站,右键,属性。 |! W: V9 ~; Z5 T, @; n
. V- b( l5 }! D" h8 D. Z9 ?# X+ Y' ~0 _- C+ k) \
3、选择“ISAPI”,点击“添加”。. R2 v# W! O- {) q
% B% Z, y. e3 M* S- o. g
4 A0 J N+ n% S( U# g* {9 y
4、填入筛选器名称,如“rewrite”。
; g1 H8 u! }- J, M( S: A+ O4 h
% Q \0 q3 k' Z0 w% P. L, l- l1 i9 r6 J' _) U
5、可执行文件下方点击“浏览”,选择刚才解压的Rewrite组件位置,Rewrite.dll。
; X. z% W! T. a) V. u) ~7 L4 E# v
% N/ d, X2 ?3 y6 T+ l: c+ B3 S0 I3 ~% W$ x
6、确认选择正确后,点击“确定”。- M2 Q7 N3 G2 p
' g% c1 E0 D9 K+ p: }& g8 K, K4 x) v3 q
7、点击“确定”,完成筛选器添加。
5 Y/ Q3 j! D. @+ {9 u
& Q2 B' }! P+ B& P
0 l- a. U" m, @8 l4 U
8、重启IIS。$ y0 w7 L( ?% n
4 @: j/ l4 `1 q& U6 [
7 |$ O$ s0 g- h% h4 G) v! N( C7 s _; P! \
& X, g9 X4 c6 U! J- u: f0 c
! V' o2 F, b4 O3 e8 _) S" m1 q
9、重启IIS后,再次选择站点,右键,属性,看到如下所示向上的绿箭头,说明 IIS Rewrite 成功添加并运行。
; g9 n( K- j) `
1 H6 t. a+ F$ |4 H) E
0 X" Q* q. @5 d3 L+ P
IIS Rewrite 规则设置" {- g t. j# {1 u5 k( J: p
解压后的 IIS Rewrite 组件目录(如 C:Rewrite)中,有一个 httpd.ini 文件,将相应规则写入到这个文件中即可,本程序中自带httpd.ini文件,只需将域名改为你的域名即可。: w3 L# Y! M8 d$ | [" @
# F+ Z! X1 ^ d9 N8 }然后登录后台,全局-网站功能-URL静态化-是。
# v( ?1 R( _4 d# w2 x3 R
! x, i& w, B- ~0 v按照上面的方法重启IIS,然后就OK了。9 T; t- ~+ B! D) K* b1 U4 p, h
" X/ K' ?4 n9 S0 g
切记,如果是自己架设的服务器,一定要重启IIS,否则可能无效。如果是购买的虚拟空间那就不需要了,因为一般都是linux的空间,所有插件都配置好的。4 J4 {" m: a* ?8 A3 p% v' t
* Y6 J$ d. M# g# g' e3 ihttpd.ini文件配置规则:: [$ M n( q2 _0 ~: o
! a8 h6 Y4 F! \2 v$ [" {$ O! E将read.php?bl_id=123&bu_id=456 伪静态成 /html/123/456.html可以这样写:
, L( ?/ Q: F) d. C: _9 URewriteRule ^(.*)/html/([0-9]+)/([0-9]+).html$ $1/read.php?bl_id=$2&bu_id=$3
/ U0 @3 E8 y2 a0 N. [个人备注:
2 V* w, q( T2 h8 k% D这里的$1, $2, $3就是前一个表达式的匹配值4 O* o5 x# n) J
比如:
( h& B6 y& H9 w, K I4 Z( U( J^(.*)/simple/([a-z0-9_]+.html)$ $1/simple/index.php?$2
8 t5 P! A8 f. O) _: d& b中对应的颜色对应相应的值!" b2 ^9 i5 z$ V o/ z; ]+ Z1 k; l. Q
|
|