The following configuration example causes loss of the query string... Servername xxx.xxx.com #ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin <Directory /> Redirect /cgi-bin/ http://yyy.xxx.com/cgi-bin/ ... </Directory> ----- With the above config - Browser is pointed to http://xxx.xxx.com/cgi-bin/some.cgi?q=abc Browser is sent a 302 with new location at http://yyy.xxx.com/cgi-bin/some.cgi ----- Using the redirect outside of the <Directory XYZ> block functions properly ServerName xxx.xxx.com #ScriptAlias /cgi-bin/ /usr/local/apache/cgi-bin/ Redirect /cgi-bin/ http://yyy.xxx.com/cgi-bin/ <Directory /> ... </Directory> ---- Browser points to http://xxx.xxx.com/cgi-bin/some.cgi?q=abc Browser is sent a 302 with location of http://yyy.xxx.com/cgi-bin/some.cgi?q=abc ---- I have tested this repeatedly on RedHat 7.3 and Solaris 8. Verifying both visually with the browser and a network sniff.
The problem is fixed in main dev branch (2.1) and proposed for backport. Thanks for your report and thanks for using Apache!
FYI: Finally merged into the 1.3 and 2.0 stable trees (1.3.28 and 2.0.46 will include the fix).