Frank Schönmann: Perl und OmniHTTPd

Beitrag lesen

hi!

Im Script wird z.B. auf eine Datei zugegriffen mit:
$datei = "/www/cheatah/cgi-bin/datei.txt";
Diese Definition ist für die Lauffähigkeit im Internet notwendig, deshalb kann ich sie nicht
ändern. Nun will ich das Script aber auch lokal auf meinem Rechner unter OmniHTTPd
laufen lassen. Dabei steht "datei.txt" aber nicht unter "/www/...", sondern unter
"c:\programme...". Was ich jetzt möchte ist, daß OmniHTTPD alle Zugriffe auf "/www/..."
umleitet (Alias?!) auf "c:\programme..."
Wo muß ich das einstellen?

Das funktioniert nicht. Du kannst im Server wohl nur ein Alias für Pfade auf dem WWW-Server einrichten, was anderes wäre auch ziemlich sinnlos. Zum Beispiel kannst du damit einstellen, dass das Verzeichnis http://server/ für das Verzeichnis c:\server\www\ steht, und http://server/cgi-bin/ für das Verzeichnis c:\server\cgi, also auch wenn die physikalische Verzeichnisstruktur auf der Festplatte nicht der logischen Struktur auf dem Server entspricht.
Perl-Skripts greifen aber direkt auf die Festplatte zu, nicht über den Server! Der Server hat also mit dem Zugriff des Perl-Skripts auf die Daten nicht das geringste zu tun, das müsstest du system-intern einstellen, was aber mit Windows nicht möglich ist (mit Linux oder Unix zb. schon ;)).

Warum baust du den Pfad nicht am Anfang des Skripts als Skalar ein und greifst darauf zu. Dann musst du vor dem Upload auf den Server nur noch den Pfad korrekt setzen. Oder du legst auf deiner Platte die gleiche Verzeichnisstruktur an, die auch auf dem Server existiert.

bye, Frank!