我在 VirtualHost 中有这样的配置:
RewriteEngine On
RewriteMap mapfile txt:mapfile.txt
RewriteCond ${mapfile:$1?%{QUERY_STRING}} >""
RewriteRule ^/(.+)$ ${mapfile:$1?%{QUERY_STRING}}? [R=301]
这适用于这个 mapfile.txt
prueba/code.asp?id=489 /newurl
但与此 mapfile.txt 不匹配:
prueba/code.asp?id=489 /
在重写日志中:
[07/Dec/2012:20:52:08 +0100] [rid#7f1ac2d4280/initial] (5) map lookup OK: map=mapfile[txt] key=prueba/code.asp?id=489 -> val=/
[07/Dec/2012:20:52:08 +0100] [rid#7f1ac2d4280/initial] (4) RewriteCond: input='/' pattern='>""' => not-matched
为什么不匹配?是否有另一种方法来测试查询长度是否大于“”