Hi All I have been on these for 4 days now. No matter what I feed my simple perl script in a simple rewrite_map setup it wont return any feedback when used through apache. When used through comand line it works just fine.
Some background info: debian:/var/www# apache2 -v Server version: Apache/2.2.9 (Debian) Server built: Jun 1 2009 17:44:04 ####.htaccess RewriteEngine on RewriteCond ${dash2score:yes} yes RewriteRule ^(.*)$ http://www.howstuffworks.com [P,L]d or RewriteEngine on RewriteRule ^(.*)$ http://www.google.com/?index=${dash2score:yes} [P,L] #####Apache2.conf RewriteLog "/var/log/apache2/rewrite.log" RewriteLogLevel 9 RewriteMap dash2score prg:/var/www/getIpStat.pl ##### getIpStat.pl #!/usr/bin/perl $| = 1; while (<STDIN>) { print($_."\n"); } or #!/usr/bin/perl $| = 1; while (<STDIN>) { print($_."\n"); } Well, the perl script simply returns whatever it is fed, so If I feed it yes it returns yes, this would not work when I used the rewritemap with rewritecond I would alwasy get no output. Since rewritecond would return input='' as if rewritecond is not returning any input. The log showed: 192.168.0.189 - - [30/Jun/2009:18:00:08 +0300] [ 192.168.0.1/sid#9500ba8][rid#b5f40078/subreq] (5) map lookup FAILED: map=dash2score key=yes 192.168.0.189 - - [30/Jun/2009:18:00:08 +0300] [ 192.168.0.1/sid#9500ba8][rid#b5f40078/subreq] (4) [perdir /var/www/] RewriteCond: input='' pattern='yes' => not-matched 192.168.0.189 - - [30/Jun/2009:18:00:08 +0300] [ 192.168.0.1/sid#9500ba8][rid#b5f40078/subreq] (1) [perdir /var/www/] pass through /var/www/index.pl Note the input='' above I.e. rewritecond did not show get any input from the rewrite map When I did try to use the rewritemap in the rewriterule as in the second example it did not display anything as well in the result URL. The log showed: 192.168.0.189 - - [30/Jun/2009:17:58:17 +0300] [ 192.168.0.1/sid#9500ba8][rid#b61c4610/initial] (5) map lookup FAILED: map=dash2score key=yes 192.168.0.189 - - [30/Jun/2009:17:58:17 +0300] [ 192.168.0.1/sid#9500ba8][rid#b61c4610/initial] (2) [perdir /var/www/] rewrite '' -> 'http://www.google.com/?index=' Note the index=' above If I run the script from command line the following is shown: debian:/var/www# ./getIpStat.pl input1 input1 I enter input1 and it echoes input1 These are the permissions of the script: -rwxr-xr-x 1 www-data root 352 2009-06-30 16:40 getIpStat.pl and I did su to www-data and I was able to execute it successfully. I really have no clue why the script is not returning any output when invoked through apache. Any clues ? Thanks