auf übergeordnete Verzeichnisse zugreifen

Alles, was den Apache betrifft, kann hier besprochen werden.

auf übergeordnete Verzeichnisse zugreifen

Postby toshniba » 25. April 2012 09:50

Ich habe eine Website von einem Provider abgezogen und möchte die Site nun selbst hosten, allerdings sind in den einzelnen html-Seiten "../"-Referenzen auf css-, js- und andere Dateien enthalten. Wie kann ich das in einem <VirtualHost> Eintrag konfigurieren, dass folgendes funktioniert:

Die Mainpage der Domain liegt unter /htdocs/test.com/eigentlicher_inhalt/index.html
Und diese Seite soll als www.test.com/index.html angezeigt werden.
Der VH-Eintrag sieht demnach derzeit so aus:
Code: Select all
<VirtualHost *:80>
   DocumentRoot "/htdocs/test.com/eigentlicher_inhalt"
   ServerPath "/test.com/eigentlicher_inhalt"
   ServerName www.test.com
</VirtualHost>


Leider funktionieren dann aber die Zugriffe auf übergeordnete Verzeichnisse (zB ../irgendwas/style.css, welches am Server unter /htdocs/test.com/irgendwas/style.ss zu finden ist) nicht (lt. Apache Log "konvertiert" er den Pfad, als wäre er ohne dem "../" im Dateisystem -> logischerweise findet er es nicht und meldet "File does not exist" im error.log)

Wenn ich das Verzeichnis "eigentlicher_inhalt" welasse, passt die Seite, aber ich hab halt die unerwünschte URL www.test.com/eigentlicher_inhalt/index.html

Irgendwelche Vorschläge, wie man das anstellt? Mit einem Rewrite oder Alias oder ...??
Ich kenn mich da zu wenig aus und bin mit dem Herumprobieren schon am Ende meiner Kräfte ;-)
Danke
lg
Harry
toshniba
 
Posts: 1
Joined: 25. April 2012 09:30
Operating System: Win & Linux

Re: auf übergeordnete Verzeichnisse zugreifen

Postby Altrea » 25. April 2012 13:54

Hallo Harry,

Es gibt mehrere Möglichkeiten, die aber alle unschön bis unpraktikabel sind (Schlagworte wären AliasMatch oder mod_rewrite, oder du benutzt eine Scriptsprache um die Dateien über Dateizugriffsberechtigungen zu holen). Um eine Anpassung deiner Pfade kämst du damit aber nicht herum.
Bei Assets (statischen Bestandsdaten) die über HTTP nachgefordert werden müssen (Bilder, css, js) macht es prinzipiell keinen Sinn diese oberhalb des DocumentRoot zu lagern. Ich kann also prinzipiell nur davon abraten.

Sauberer wäre es innerhalb deines DocumentRoot Ordner für css, js usw zu machen und deine Pfade anzupassen.

mit freundlichen Grüßen,
Altrea
We don't provide any support via personal channels like PM, email, Skype, TeamViewer!

It's like porn for programmers 8)
User avatar
Altrea
AF Moderator
 
Posts: 11935
Joined: 17. August 2009 13:05
XAMPP version: several
Operating System: Windows 11 Pro x64


Return to Apache

Who is online

Users browsing this forum: No registered users and 11 guests