marcod
Themenersteller
Projectleader
Neuling (1 Beiträge)
htaccess generiert Endlosschleife
Hallo zusammen
Mein erster Post hier, habe aber schon einiges gelesen hier
Ich habe ein Problem mit der htaccess Datei welche bei mir nicht funktioniert. Eigentlich habe ich nun sehr viel gelesen darüber und ich meinte die Zeilen richtig formuliert zu haben. Jedoch ist danach nichts mehr erreichbar und es scheint in einer Endlosschleife zu enden.
Hintergrund:
Ich möchte dass alle vorhandenen Dateien direkt aufgerufen werden können (da ja css|jpg|pdf etc. verfügbar sein sollen). Ist eine Datei nicht verfügbar soll die index.php/?geturl=$1 aufgerufen werden in welcher ich danach die Seiten zuweise oder einen 404 zurückgebe.
Der Code sieht folgendermassen aus:
RewriteEngine on
RewriteCond %{REQUEST_URI} !^.*index\.php$ [OR]
RewriteCond %{REQUEST_URI} !^.*404\.html$ [OR]
RewriteCond %{REQUESTFILENAME} !-d [OR]
RewriteCond %{REQUESTFILENAME} !-f
RewriteRule ^(.*)$ index.php?geturl=$1 [L]
Ich bin um jeden Kommentar dankbar!
Grüsse
joerg
Fachinformatiker Anwendungsentwicklung
Content Gott (1941 Beiträge)
Hallo
Im Prinzip ist der Gedanke ja nicht schlecht aber dann habe ich die Möglichkeit immer noch mit der index.php Datei etwas zu versuchen. Beziehungsweise bei deiner ersten Zeile wird alles was auf index.php endet nicht durch das Framework geleitet.
Warum eine extra HTML Fehlerseite? Bedeutet die Fehlerseite dann im header oder footer dann auch immer wieder anzupassen. Also besser auch durch das Framework leiten.
Reine Verzeichnisse in denen sich die Bilder Dateien oder so befinden würde ich auch durch das Framework schleusen, damit die dadurch auch nicht aufrufbar sind.
ErrorDocument 404 /sicher/datei.php?x=404
<IfModule mod_rewrite.c>
RewriteEngine on
# Alle Dateien die mit einem Punkt anfangen sind nicht aufrufbar und werden mit einen 403 beantwortet
RewriteCond %{REQUEST_URI} ^(.*/)?\\.
RewriteRule ^(.*) - [F]
#Alle Verzeichnisse die wirklich existent sind sind dann nicht mehr vorhanden und alle vorhandenen Dateien in diesen Verzeichnissen
RewriteRule ^(verzeichnis1|verzeichnis2|verzeichnis3)(.+)$ /sicher/datei.php?x=404 [L]
#Alle Dateien die nicht vorhanden sind werden durch die Eingangs PHP Datei geschleust
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /sicher/datei.php?x=/$1 [L,QSA]
</IfModule>
Was deinen Kode angeht ich würde mal die ganzen Oder da rauswerfen. Wahrscheinlich funktioniert er dann bereits. In der Hoffnung das du nach diesem Post das Ganze eh nochmal durchdenkst.
Gruß
Jörg
Zufällige Umleitung zu der Startseite einer meiner Domains
Meine ungewöhnlichen Tools
Das Seitenreport Forum hat aktuell 5276 Themen und 36111 Beiträge.
Insgesamt sind 48364 Mitglieder registriert.
Beitrag erstellen
EinloggenKostenlos registrieren