You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@httpd.apache.org by Othmar Pasteka <pa...@kabsi.at> on 2003/12/18 00:03:28 UTC
[users@httpd] Problems calling scripts in RewriteMap
Hi,
I have been now trying RewriteMap for all day long and didn't get
it working, maybe I am missing something obvious but I have read
the documentation several times now and I still don't know
anything more in how to get it working. My config:
RewriteEngine on
RewriteMap session-check prg:/var/www/session-check.py
RewriteRule (^.+$) ${session-check:$1}
RewriteLog /var/log/apache/rewrite.log
RewriteLogLevel 9
All I want to do is that whenever some site is tried to be viewed
it should go trhough session-check.py (or .php or .pl) should
check on the parameters if it's valid and well return two
different urls based on that.
In theory it shouldn't be a problem but for my apache
1.3.26-0woody3 (hence on debian woody) it doesn't work. whatever
I try it doesn't. I always get "400 Bad Request" sent back and I
have no clue why so :(.
The for scripts I tried and which all failed are (for which I
need the php one to get working so that's for me the most
important):
#!/usr/bin/env python -u
import sys
for line in sys.stdin():
sys.stdout.write(line)
sys.stdout.flush()
#!/usr/bin/perl
$| = 1;
while (<STDIN>) {
# ...put here any transformations or lookups...
print $_;
}
<?php
$stdin = fopen('php://stdin', 'r');
$stdout = fopen('php://stdout', 'w');
$input_url = fgets($stdin, 3000);
// also tried: fwrite($stdout,$input_url);
fwrite($stdout,"/errorbh/");
fclose($stdout);
fclose($stdin);
?>
the logfiles usually look like the following. in the case of the
logfile snippet I had just " (/errorbh/index_corr.php) " as the pattern
in there but it wouldn't help much :(.
1.2.3.4 - - [17/Dec/2003:23:59:17 +0100] [foo.bar.com/sid#80a100c][r
id#81031f4/initial] (2) init rewrite engine with requested uri /errorbh/index_co
rr.php
1.2.3.4 - - [17/Dec/2003:23:59:17 +0100] [foo.bar.com/sid#80a100c][r
id#81031f4/initial] (3) applying pattern '(^.+$)' to uri '/errorbh/index_corr.ph
p'
1.2.3.4 - - [17/Dec/2003:23:59:17 +0100] [foo.bar.com/sid#80a100c][r
id#81031f4/initial] (5) map lookup OK: map=session-check key=/errorbh/index_corr
.php -> val=
1.2.3.4 - - [17/Dec/2003:23:59:17 +0100] [foo.bar.com/sid#80a100c][r
id#81031f4/initial] (2) rewrite /errorbh/index_corr.php ->
1.2.3.4 - - [17/Dec/2003:23:59:17 +0100] [foo.bar.com/sid#80a100c][r
id#81031f4/initial] (2) local path result:
So if someone does know where my problem is or how to get it
working, please don't hesitate to answer me! :)
TIA
Othmar
---------------------------------------------------------------------
The official User-To-User support forum of the Apache HTTP Server Project.
See <URL:http://httpd.apache.org/userslist.html> for more info.
To unsubscribe, e-mail: users-unsubscribe@httpd.apache.org
" from the digest: users-digest-unsubscribe@httpd.apache.org
For additional commands, e-mail: users-help@httpd.apache.org