使用mod_rewrite我想重写一个子目录,如下所示:
从http://www.example.com/sub/index.php?page=index
到http://www.example.com/sub/index
提前致谢。
答案 0 :(得分:0)
RewriteEngine on
RewriteRule ^([a-z]+)/([a-z]+)$ /$1/index.php?page=$2
我在这里说:“如果你有一个开头的网址(^
是开头的),有一些字母([a-z]
表示” [a,b,...中的一封信] ,z] “,+
表示”一个或多个“),然后是斜杠,然后再写一些字母,之后没有任何内容($
表示它是URL的结尾),重写如下:第一组字母,然后是斜线,然后是index.php?page=
,然后是第二组。“
组用括号分隔。 $n
表示“第n组”。如果子目录始终相同,请改为使用:RewriteRule ^sub/([a-z]+)$ /sub/index.php?page=$1
。
请注意,http://www.example.com
之前是隐含的。
例如:
http://www.example.com/users/boudou -> http://www.example.com/users/index.php?page=boudou
http://www.example.com/files/cv -> http://www.example.com/files/index.php?page=cv
http://www.example.com/zzz/sleep -> http://www.example.com/zzz/index.php?page=sleep