PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : RewriteMap zum Dritten :)



chris@online
03.07.07, 15:12
Hallo,

nun läuft alles so weit, RewriteEngine und RewriteMap sind konfiguriert, ABER es funzt nicht ...

Was soll die Rewrite-Engine leisten? Es sollen alle angefragten "txt"-Dateien per Script freigebeben werden. "freigabe.pl" liefert also den Link auf die Datei aus oder auf eine "403"er Datei ...

Hier die Konfigurationen:

default-server.conf:

RewriteLog /var/log/apache2/rewrite_log
RewriteLogLevel 20
RewriteMap formatMap prg:/srv/www/scripts/freigabe.pl

.htaccess:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} .*
RewriteRule ^(.*)\.txt /${formatMap:$1|403}.php [L,R]

freigabe.pl

#!/usr/bin/perl
$| = 1; # Turn off buffering
while (<STDIN>) {
print "funzt";
}


Nach meiner Vorstellung sollte nun bei jeder aufgerufenen "txt" Datei der komplette Pfad auf die Datei an die "freigabe.pl" übergeben werden. Diese verarbeitet den Input dann intern und gibt den Pfad+Dateinamen aus, wohin weitergeleitet werden soll. In dem Beispiel hier zum "funzt.php".

Leider klappt das aber nicht. Das rewrite_log gibt folgende Ausgaben:

(3) [per-dir /srv/www/htdocs] add path info postfix: /srv/www/htdocs/12 -> /srv/www/htdocs/12/16/test.txt
(3) [per-dir /srv/www/htdocs] strip per-dir prefix: /srv/www/htdocs/12/16/test.txt -> 12/16/test.txt
(3) [per-dir /srv/www/htdocs] applying pattern '^(.*)\.txt' to uri '12/16/test.txt'
(4) RewriteCond: input='/srv/www/htdocs/12' pattern='.*' => matched
(5) map lookup FAILED: map=formatMap key=12/16/test
(2) [per-dir /srv/www/htdocs/] rewrite 12/16/test.txt -> /isnich.php
(2) [per-dir /srv/www/htdocs/] explicitly forcing redirect with http://192.168.0.130/isnich.php
(1) [per-dir /srv/www/htdocs/] escaping http://192.168.0.130/isnich.php for redirect
(1) [per-dir /srv/www/htdocs/] redirect to http://192.168.0.130/isnich.php [REDIRECT/302]

Mich irritiert, daß - obwohl mein freigabe.pl IMMER eine Ausgabe erzeugt - behauptet wird "map lookup FAILED" ...

Any ideas, warum das so ist? Ich stehe etwas auf dem Schlauch, zumal ich die Fehlermeldung nicht deuten kann.

Mit der verzweifelten Bitte um Hilfe,
Chris