+ Antworten
Ergebnis 1 bis 12 von 12

Thema: RewriteCond-Problem

  1. #1
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503

    RewriteCond-Problem

    Guten Tag allerseits,

    ich habe folgendes Anliegen:

    immer, wenn eine Datei im Ordner "www.domain.de/en/downloads/" angefordert wird, soll man auf die Datei im Ordner "www.domain.de/downloads/" weitergeleitet werden.

    Hier mein Versuch, vorhandene Beispiele anzupassen:

    Code:
    RewriteCond /en/downloads/%{REQUEST_FILENAME} -f
    RewriteRule ^(.+) /downloads/$1 [L]
    Für schnelle Hilfe wäre ich sehr dankbar!

  2. #2
    TP-Moderator maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User maxi89 lebt für das TP und seine User Avatar von maxi89
    Registriert seit
    Nov 2004
    Ort
    Mulpe an der Tunke
    Beiträge
    2.538
    Funktioniert folgender Code?

    Code:
    RewriteCond /en/downloads/%{REQUEST_FILENAME} -f
    RewriteRule http://www.domain.de/downloads/$1 [L]

  3. #3
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503
    nein, leider nicht

  4. #4
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Code:
    RewriteEngine On
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    
    RewriteRule ^en/downloads/(.*)$ downloads/$1 [L]
    Cache leeren, da evtl die alte Datei vom herumtesten noch auf der Platte liegt und beim Request nicht wirklich vom Server geladen wird.

  5. #5
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503
    Vielen Dank, das hilft mir schonmal zum Größten Teil weiter!

    Was genau überprüfst du hiermit?
    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    Wahrscheinlich, ob die Datei existiert, oder? Es gibt da nämlich noch einen 2. Fall, in dem vom Ordner "www.domain.de/en/gallery/" nach "www.domain.de/gallery/" weitergeleitet werden soll...

    Daher wollte ich eine Regel, die sich explizit des Ordners "/en/downloads/" annimmt. Das hätte ich dann auch auf das Gallery-Problem anwenden können.

    EDIT: Cache musste nicht geleert werden.

  6. #6
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503
    Sorry, ist wohl schon zu spät ^^

    Habe auf Rizzos Post eine Lösung gefunden, die sich allem annimmt...

    Code:
    RewriteRule ^en/downloads/(.*)$ downloads/$1 [L]
    RewriteRule ^de/downloads/(.*)$ downloads/$1 [L]
    RewriteRule ^en/gallery/(.*)$ gallery/$1 [L]
    RewriteRule ^de/gallery/(.*)$ gallery/$1 [L]
    Das hier
    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    scheint wohl nicht benötigt... Irgendwelche Einwände?

  7. #7
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Zitat Zitat von pxlArtizzt Beitrag anzeigen
    Das hier
    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    scheint wohl nicht benötigt... Irgendwelche Einwände?
    Das ist durchaus nicht unwichtig, weil das prüft ob die Anfrage überhaupt auf eine Datei oder ein Verzeichnis zielt. Es könnte ja auch ein (interner) Link sein (z.B. auf eine Passwort Datei) oder eine invalide URL. Es dient also mehr oder weniger der Sicherheit. Näheres dazu hier.

    EDIT
    Das hier sollte auch funktionieren und sieht eleganter aus:

    Code:
    RewriteRule ^(en|de)/downloads/(.*)$ downloads/$1 [L]
    RewriteRule ^(en|de)/gallery/(.*)$ gallery/$1 [L]

  8. #8
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503
    OK... Also sähe der Code folgendermaßen aus!? Bremst das evtl. den Server aus?

    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^en/downloads/(.*)$ downloads/$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^de/downloads/(.*)$ downloads/$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^en/gallery/(.*)$ gallery/$1 [L]
    
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^de/gallery/(.*)$ gallery/$1 [L]

  9. #9
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Siehe oben, mein Nachtrag. Ansonsten greifen die RewriteCond bei jedem Request. Man muß also nicht für jede Regel eine eigene Condition erstellen.

  10. #10
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503
    Erstaunlicherweise funktioniert das hier nicht in jedem Fall.

    Code:
    RewriteRule ^(en|de)/downloads/(.*)$ downloads/$1 [L]
    RewriteRule ^(en|de)/gallery/(.*)$ gallery/$1 [L]
    Bei Datei A klappt, bei allen anderen wird die Fehlerseite (404) aufgerufen. Wie kann das denn sein?

    Warum greifen denn diese Reqrite-Conditions bei jedem Request? Ist das generell so oder nur in diesem Fall?

    Code:
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d

  11. #11
    TP-Specialist phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts phpBuddy ist einer der Eckpfeiler des TP - ohne ihn geht nichts Avatar von phpBuddy
    Registriert seit
    Aug 2004
    Ort
    Kaiserslautern
    Beiträge
    4.678
    Tja seltsam, dann änder es wieder zurück zu einzelnen Regeln. Ansonsten habe ich dir oben den Link zur Online Doku gegeben, da steht alles haarklein erklärt, wie das ganze mod_rewrite und den Conditions funktioniert.

  12. #12
    TP-Insider gryphius bringt sich richtig ein gryphius bringt sich richtig ein Avatar von gryphius
    Registriert seit
    Aug 2003
    Ort
    Bochum
    Beiträge
    503
    jau klar. Vielen Dank!

+ Antworten

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

     

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51