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
なぜ一致しないのですか?クエリの長さが "" より大きいかどうかをテストする別の方法はありますか