apache的modrewrite简单的写法
今天在 给自己的blog增加一个插件 的时候学习了一些apache的modrewrite,
框架大致为:
- <Directory "/html/taoer_com/blog"> #这里修改为你的实际路径
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase / #这里的/你也可以修改为其他的网站的路径,下面所有匹配的规则都会以Directory+这里设置的路径为起点的
- RewriteCond %{REQUEST_FILENAME} -f [OR]
- RewriteCond %{REQUEST_FILENAME} -d
- #RewriteRule ^.*$ - [S=35] #这个和下面那行不知道是作什么用的,感觉是匹配的字符串长度的设置吧?希望知道的朋友留言告诉我,谢谢 :)
- RewriteRule ^.*$ - [S=40]
- RewriteRule #后面就是你要匹配的规则了 #然后这里是你要重定向的规则 [QSA,L]#这个选项不知是干什么用的
- </IfModule>
- </Directory>
一般的比如你要把 /index 重定向为 /index.php
你要这么写一条规则
RewriteRule ^index/?$ /index.php [QSA,L]
如果有get参数的话,
比如:/index/page/3/category/5 重定向为 /index.php?page=3&category=5
你要这么做
RewriteRule ^index/page/(.+)/category/(.+)/?$ /index.php?page=$1&category=$2 [QSA,L]
这里的$1,$2即为符合匹配条件的第几个参数。
又或者这样,
/index/category/3 或 /index/page/5 重定向为 /index.php?page=3或者 /index.php?category=5
你可以这么写
RewriteRule ^index/(page|category)/(.+)/?$ /index.php?$1=$2 [QSA,L]
这么写没有试过,按照常规来说应该是可以的,有兴趣的朋友可以试试看
先说这么多吧,有兴趣的朋友可以一起交友下。

[...] http://www.taoer.com/2005/10/07/apache-modrewrite-rule-simple/ [...]
[...] 具体的简单的Rewrite写法,可以看这里 [...]