该文章转载于http://www.hiadmin.com/apache-rewrite-%E8%A7%84%E5%88%99%E4%B9%8B%E9%A3%8E%E9%AA%9A%E5%B0%8F%E9%97%AE%E5%8F%B7/
实际中写一条简单的重写规则:
源地址:
http://www.example.com/soft/install?ver=1.1
重写地址为:
http://www.example.com/my/soft/report.php

配置文件httpd.conf修改如下:

RewriteCond %{QUERY_STRING} ^ver\=([0-9]+\.[0-9]+)?$ [NC]
RewriteRule ^/soft/install$ http://www.example.com/my/soft/report.php?[L]
注意配置中的两个问号的应用,其中QUERY_STRING取得url问号后的查询字符串,这里实际重写应用是需要去掉后面的查询字符,所以需要用到?来终结!

官方文档解释为:
注意:查询字符串
Pattern不会按照查询字符串进行匹配。为了达到这个目的,你必须使用一个带有%{QUERY_STRING}变量的RewriteCond指令。当 然,你也可以在替换字符串中创建包含查询字符串的URL:在替换字符串串中使用问号,以标明其后的部分应该被重新注入到QUERY_STRING中。而要 删除一个已有的请求串,则可以用问号来终结替换字符串。为了联合新旧查询字符串,请使用[QSA]标志。