firemystery Geschrieben 16. September 2008 Geschrieben 16. September 2008 Hallo alle zusammen, ich bin neu hier und hab schon gleich ein(zwei) Fragen: Und zwar schaue ich mir gerade eine Seite von Freunden an, die haben folgendes Problem: Wenn zB www.meine-seite.de/irgendwas/ (mit dem Slash dahinter) aufgerufen wird, so wird zwar der Inhalt der Seite "irgendwas.php" angezeigt, allerdings ohne sämtliche includes, style, oder javascript - Dateien Wird nur www.meine-seite.de/irgendwas eingegeben (ohne Slash) so wird ganz richtig die Seite "irgendwas.php" aufgerufen und korrekt dargestellt. Egal was hinter dem Slash steht (irgendwelche Buchstabenkombis mit und ohne weitere Slashs) es wird immer der Inhalt der Seite "irgendwas" angezeigt, allerdings ohne "Style" & Co. Eigentlich sollte bei Fantasienamen die 404.php aufgerufen werden. Das die Seite "irgendwas" allerdings existiert, "versteht" der Browser irgendwie nicht, dass es die Unterseiten nicht gibt.... Die htaccess Datei sieht folgendermaßen aus: RewriteEngine on RewriteCond %{HTTP_HOST} ^meine-seite\.de$ RewriteRule ^(.*)$ http://www.meine-seite.de/$1 [L,R=301] ErrorDocument 404 http://www.meine-seite.de/404.php Ich habe bisher noch nie mit htaccess Dateien gearbeitet. Vielleicht könnt ihr mir ja helfen, das ganze besser zu verstehen?!? Vielen vielen Dank schonmal Annika Zitieren
geloescht_JesterDay Geschrieben 16. September 2008 Geschrieben 16. September 2008 Des Rätsels Lösung ist hier zu finden core - Apache HTTP Server und nennt sich AcceptPathInfo. Wenn das On ist, dann ruft die Anfrage von /test/irgendwas.html/blubb die Seite irgendwas.html auf, wenn die existiert, egal was da sonst steht. Das "Problem" mit den Styles etc ist, dass sie relativ angegeben sind. Der Server erkennt die Datei und wertet nciht den kompletten Pfad aus, der Browser hingegen hat davon keine Ahnung und hängt die relativen URLs an die komplette URL (bzw den Pfad den er da erkennt). Also wenn z.B. im Dokument irgendwas.html der Style <style type="text/css" src="style.css"> steht, dann ist für den Browser bei der URL oben der Pfad /test/irgendwas.html/ und daran hängt er den Namen. Heraus kommt also: /test/irgendwas.html/style.css, was ja so nicht zu finden ist, also vom Server mit einem 404 erwiedert wird. Ohne / am Ende hört der Pfad früher auf, und es ergibt sich /test/style.css was ja dann stimmen würde. Lösung: AcceptPathInfo Off in die .htaccess, oder die Style-Angaben etc absolut angeben. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.