Apache重写 - 匹配查询字符串

时间:2015-12-27 19:56:59

标签: apache mod-rewrite rewrite

据我所知,如果我想匹配查询字符串,那么在apache中使用重写,那么我应该使用

RewriteCond %{QUERY_STRING} 

哪个好,但是,我有一个csv,大约有2000个url要重写,很多都包含随机查询字符串。完成每一项并制定规则将是一个艰苦的过程。

是否有任何通用的方法让重写查看整个网址,包括查询字符串并重定向它?

1 个答案:

答案 0 :(得分:0)

尝试rewritemap

vurtual host的示例配置

RewriteEngine on
RewriteMap mymap "txt:/path/to/map.txt"
RewriteCond %{QUERY_STRING} ^(.+)$
RewriteCond ${mymap:%1} >""
RewriteRule ^(.*)$ ${mymap:%1} [L]

和map.txt示例

p=1&i=1 /test.php?n=2
p=1&i=2 /test.php?n=4
p=1&i=3 /test.php?n=6
...

假设它适用于没有高负荷的网站:)