Über HTML Dateien referenzieren?

Antworten
Nachricht
Autor
Rumpff

Über HTML Dateien referenzieren?

#1 Beitrag von Rumpff » 12. Mär 2009 22:03

Nächstes Problem, wo ich wohl ein Brett vor dem Kopf habe. Ich habe ein Konstrukt, das so aussieht:

Code: Alles auswählen

<input type="checkbox" name="LISTE" value="/home/audio/Mein Lieblingslied.ogg"> <A href="/home/audio/Mein%20Lieblingslied.ogg"> "/home/audio/Mein Lüblingslied.ogg" </A>
Was ich möchte, klar, wenn ich auf den Link klicke (nicht die checkbox, die interssiert gerade nicht), dann soll das Lied gespielt werden (oder halt gespeichert). Ich bekomme aber ein 404.

Mein access log meldet:

Code: Alles auswählen

GET /home/audio/Mein%20Lieblingslied.ogg HTTP/1.1" 404 253
Noch komischer aber ist mein error log:

Code: Alles auswählen

&#91;client 192.168.20.2&#93; File does not exist&#58; /web/htdocs/home, referer&#58; https&#58;//....
Das heißt, er scheint unterhalb des webroots (/web/htdocs) zu suchen, vergißt die Hälfte (das audio Verzeichnis) und nimmt jedenfalls nicht den absoluten Pfad, auch wenn es im access.log so aussieht.
Wie pule ich das apache (oder meinem Dokument) nun bei, daß er den absoluten Pdaf nehmen soll? Und wie verhält es sich mit Leerzeichen und %20?

Benutzeravatar
Janka
Beiträge: 3581
Registriert: 11. Feb 2006 19:10

#2 Beitrag von Janka » 13. Mär 2009 0:14

Absolute Pfade beziehen sich immer auf ServerRoot. Wenn du tatsächlich den ganzen Rechner per HTTP zugänglich machen willst (nicht empfehlenswert), kannst du ServerRoot auf / setzen.

Besser ist es aber, im Home-Verzeichnis von Benutzer "audio" ein Verzeichnis "public_html" anzulegen und die Dateien da reinzuschieben. Die übliche Apache-Konfiguration erlaubt den Zugriff auf dieses Verzeichnis dann per per http://hostname/~audio/dateiname.

Das %20 übersetzt der Server automatisch in das Leerzeichen.

Janka
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.

Rumpff

#3 Beitrag von Rumpff » 16. Mär 2009 12:50

Das Problem läßt sich super mit einem Alias lösen. Damit brauche ich nicht / als DocRoot freigeben, sondern kann zusätzlich /home/audio mit einbinden. Quasi als Art symbolischer Link.

Antworten