分类: 系统运维
2012-06-08 21:16:08
mod_rewrite提供了一种操作URL的方式,它用于处理复杂的任务。它使用Perl兼容的正则表达式。对于简单的任务,应该使用mod_alias。
RewriteRule由空格分隔的三个参数组成:
1、pattern:应该被规则影响的URL;
2、Substitution:用于替换匹配的部分;
3、[flags]:影响重写请求的选项。
例如:
RewriteRule ^/games /usr/local/games/web
或
RewriteRule ^/product/view$ [R]
或
RewriteRule ^/product/(.*)/view$ /var/web/productdb/$1
具体的flag参考:。
RewriteCond可以用来限制要传给后面的请求类型。第一个参数是描述请求的一个特性的变量;第二个参数是匹配第一个参数的正则表达式;第三个可选参数是一列flags来修改匹配如何取值。
例如:
RewriteCond %{REMOTE_ADDR} ^10\.2\.
RewriteRule (.*)
或
RewriteCond %{QUERY_STRING} hack
RewriteCond %{HTTP_COOKIE} !go
RewriteRule . - [F]
或
RewriteCond %{HTTP_HOST} (.*)
RewriteRule ^/(.*) /sites/%1/$1
RewriteMap指令提供了调用外部函数的一种方式。具体参考。
Rewrite一般推荐在