Htaccess-Datei erzeugt Endlosschleife
Hallo zusammen,
ich benötige mal euren Rat bezüglich einer htaccess-Datei. Ich versuche gerade einen Weg zu finden Zugriffe auf Ordner ohne
index.htm / index.html oder index.php zu unterbinden. Meine htaccess Datei soll im Prinzip schauen ob eine dieser drei
Dateien vorhanden ist und wenn nicht, den Besucher zur Startseite umleiten. Das Gleiche soll auch passieren wenn ein
nicht vorhandener Ordner angewählt wird. Im Prinzip geht das auch mit meiner htaccess-Datei nur entsteht dabei
eine Endlosschleife. Kann mir jemand sagen was ich falsch gemacht habe.
Grüße Ingo
Anbei noch der Code meiner .htaccess
ich benötige mal euren Rat bezüglich einer htaccess-Datei. Ich versuche gerade einen Weg zu finden Zugriffe auf Ordner ohne
index.htm / index.html oder index.php zu unterbinden. Meine htaccess Datei soll im Prinzip schauen ob eine dieser drei
Dateien vorhanden ist und wenn nicht, den Besucher zur Startseite umleiten. Das Gleiche soll auch passieren wenn ein
nicht vorhandener Ordner angewählt wird. Im Prinzip geht das auch mit meiner htaccess-Datei nur entsteht dabei
eine Endlosschleife. Kann mir jemand sagen was ich falsch gemacht habe.
Grüße Ingo
Anbei noch der Code meiner .htaccess
DirectoryIndex index.html index.htm index.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/$1/index\.html !-f
RewriteCond %{DOCUMENT_ROOT}/$1/index\.htm !-f
RewriteCond %{DOCUMENT_ROOT}/$1/index\.php !-f
RewriteRule ^(.+?)(?:/[^/]+)?/?$ index.php [L]
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 364633
Url: https://administrator.de/contentid/364633
Ausgedruckt am: 22.11.2024 um 11:11 Uhr
5 Kommentare
Neuester Kommentar
Hallo,
Darf man fragen warum du das so handhaben möchtest ?
(Ich hasse es wie die Pest wenn ich eine URI aufrufe und stumpf auf der Startseite lande)
Apache - core - Options -Indexes
Apache - mod_autoindex
Apache - core - ErrorDocuments
Darüber hinaus:
Lege doch einfach einmalig überall eine Index-Datei rein und Punkt !
(Das kann man auch Scripten: Durchlaufe rekursiv Verzeichnis und wenn Index fehlt: kopiere eine rein. Mit einer "Special-ID" im Quelltext kann man die dann später auch wieder löschen oder Manipulieren und erhält seine Eigenen)
Dann wäre die Conditions immer wahr weil es "\.html" niemals gibt.
~Arano
Darf man fragen warum du das so handhaben möchtest ?
(Ich hasse es wie die Pest wenn ich eine URI aufrufe und stumpf auf der Startseite lande)
Apache - core - Options -Indexes
Apache - mod_autoindex
Apache - core - ErrorDocuments
Darüber hinaus:
Ich versuche gerade einen Weg zu finden Zugriffe auf Ordner ohne index.htm / index.html oder index.php zu unterbinden. Meine htaccess Datei soll im Prinzip schauen ob eine dieser drei Dateien vorhanden ist und wenn nicht, den Besucher zur Startseite umleiten.
Warum auch bei jedem verfluchten Request (seite, css, js, bilder,...) immer wieder prüfen lassen ob die Dateien nun da sind oder nicht - wie oft kann sich das schon ändern !?Lege doch einfach einmalig überall eine Index-Datei rein und Punkt !
(Das kann man auch Scripten: Durchlaufe rekursiv Verzeichnis und wenn Index fehlt: kopiere eine rein. Mit einer "Special-ID" im Quelltext kann man die dann später auch wieder löschen oder Manipulieren und erhält seine Eigenen)
Apache - mod_rewrite#RewriteCond
Syntax:
TestString is a string which can contain the following expanded constructs in addition to plain text:
Wird aber nicht als RegEx gesehen !?Syntax:
RewriteCond TestString CondPattern [flags]
TestString is a string which can contain the following expanded constructs in addition to plain text:
Dann wäre die Conditions immer wahr weil es "\.html" niemals gibt.
~Arano
Ja, eben genau so !
Wenn ich mich vertippe und auf der Startseite lande...
Wegen den Verzeichnissen, das ist wie aufgezeigt eine Konfigurationssache:
ebenso bei einem Tippfehler: "404 - Not found"
(Ich könnt meine Fehlerseiten auch mal gestalten...)
Diese beiden Seiten (und alle Anderen) lassen sich mit der
Und das siehst du ja auch gerade bei deinem Beispiel mit Bing, du landest eben nicht stumpf auf der Startseite, sondern bekommst einen Meldung die dir sagt was los ist und bietet dir Möglichkeiten zum selberentscheiden an. (so wegen "ungestört")
~Arano
Wenn ich mich vertippe und auf der Startseite lande...
- woher weiß ich dann überhaupt das ich mich vertippt habe / einen Fehler gemacht habe !?
- wenn ich doch ein bestimmtes Ziel hatte, was um Himmels willen soll ich dann "ganz Vorne" auf der Startseite !? Noch dazu i.d.R. ohne einen Hinweis warum/wieso/weswegen ?
Wegen den Verzeichnissen, das ist wie aufgezeigt eine Konfigurationssache:
Options -Indexes
, so bekomme ich bei mir die Fehlerseite: "403 - Forbidden",ebenso bei einem Tippfehler: "404 - Not found"
(Ich könnt meine Fehlerseiten auch mal gestalten...)
Diese beiden Seiten (und alle Anderen) lassen sich mit der
ErrorDocuments
-Direktive beeinflussenApache - core#ErrorDocuments
ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/falsche_urls.pl
ErrorDocument 401 /info_zur_anmeldung.html
ErrorDocument 403 "Der Zugriff ist nicht erlaubt."
Sofern aktiviert, kann man das in ErrorDocument 500 http://foo.example.com/cgi-bin/tester
ErrorDocument 404 /cgi-bin/falsche_urls.pl
ErrorDocument 401 /info_zur_anmeldung.html
ErrorDocument 403 "Der Zugriff ist nicht erlaubt."
.htaccess
-Dateien auch für einzelne Verzeichnisse anders gestalten.Und das siehst du ja auch gerade bei deinem Beispiel mit Bing, du landest eben nicht stumpf auf der Startseite, sondern bekommst einen Meldung die dir sagt was los ist und bietet dir Möglichkeiten zum selberentscheiden an. (so wegen "ungestört")
So ungewöhnlich ist das doch nicht was ich da vorhabe oder macht z.B. bing das anders ?
Ähm... Ja, die pfuschen sich das hinterher nicht zurecht, die Planen das von vorneherein ein (Also... hoffe ich zumindest.).~Arano