mod_rewrite Frage

#1861526
Lesenswert?

Hallo Zusammen,
ich Stehe vor folgendem Problem:
In einem Verzeichnis, nennen wir es /bar, existiert eine Datei Namens 
foo. Ich möchte auf diese via HTTP mit /foo zugreifen. mod_rewrite soll 
also zuerst nach der Datei im Verzeichnis / suchen, falls sie dort nicht 
existiert, soll die entsprechende Datei unter /bar gesucht werden.

MfG Lukas
#1861791
Lesenswert?

Danke, das ganze hat bei mir noch einen kleinen Schönheitsfehler:
Wenn die angefragte Datei in keinem der Verzeichnisse existiert kommt 
ein unbeholfener 500 Internal server error statt ein 404 :(
'Ne Idee wie man das beheben kann (hab von mod_rewrite und regex nahezu 
keine Ahnung und weiß nicht, mit was ich google füttern soll)
Persönliche Seite #1862014
Lesenswert?

Das sollte eigentlich nicht sein, wenn die Datei nicht existiert solle 
ein 404 Fehler geliefert werden, zeig doch mal deine htaccess Datei.

Luk4s K. schrieb:
> hab von mod_rewrite und regex nahezu
> keine Ahnung und weiß nicht, mit was ich Google füttern soll
Na z.B. mit "htaccess modrewrite" oder "Regularexpressions" da gibt es 
hunderte von Tutorials, Websites und Beispielen...
#1862400
Lesenswert?

Läubi .. schrieb:
> Funktioniert es den schon für existierende Dateien. Jeweils in dem einen
> oder dem anderen Ordner?

Ja, die Umleitung funktioniert, nur wenn die Datei in keinem der beiden 
Ordner ist gibt es den 500 Fehler.
Beispiel:
Datei gluc.png liegt im Order /
http://0x83.eu/gluc.png
Datei tdr.png liegt im Order /ablage
Geht so: http://0x83.eu/ablage/tdr.png
So auch: http://0x83.eu/tdr.png
Bei einer nicht existenten Datei:
z.B. http://0x83.eu/gibtnsnich -> 500
Persönliche Seite #1862501
Lesenswert?

Möglichwerweise macht es Probleme das du da im root Verzeichnis 
operierst. Hast du es mal in einem Unterordner probiert?
Ich könnte mir nämlich noch vorstellen, das der Server ggf. eine 404 
Fehlerseite im rootfolder sucht, du durch deine mod_regel allerdings 
alle Dateinamen/Dateien erfasst.

Du könntest auch mal folgende Abwandlung versuchen
1
RewriteEngine on
2
RewriteCond %{REQUEST_FILENAME} !-f
3
RewriteRule ^(.+)\.png$ ablage/$1.png  [L]
Das sollte dann nurnoch auch PNG Dateien Einfluss haben.
Persönliche Seite #1862654
Lesenswert?

Naja solange du keinen Zugriff auf das mod_rewrite debug/error Modul hat 
muß man aber erstmal schauen wo das Problem liegt/liegen könnte... 
Optimieren kann man dann immer noch.

Man könnte nämlich wenn es das Problem ist, folgendes versuchen
1
RewriteEngine on
2
RewriteCond %{REQUEST_FILENAME} !-f
3
RewriteRule ^ablage/(.+)$ ablage/gibtesgarantiertnicht.htmlpgztz  [L]
4
RewriteCond %{REQUEST_FILENAME} !-f
5
RewriteRule ^(.+)$ ablage/$1  [L]

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren