Funktioniert folgender Code?
Code:RewriteCond /en/downloads/%{REQUEST_FILENAME} -f RewriteRule http://www.domain.de/downloads/$1 [L]
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:
Für schnelle Hilfe wäre ich sehr dankbar!Code:RewriteCond /en/downloads/%{REQUEST_FILENAME} -f RewriteRule ^(.+) /downloads/$1 [L]
Funktioniert folgender Code?
Code:RewriteCond /en/downloads/%{REQUEST_FILENAME} -f RewriteRule http://www.domain.de/downloads/$1 [L]
nein, leider nicht![]()
Cache leeren, da evtl die alte Datei vom herumtesten noch auf der Platte liegt und beim Request nicht wirklich vom Server geladen wird.Code:RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^en/downloads/(.*)$ downloads/$1 [L]
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
Vielen Dank, das hilft mir schonmal zum Größten Teil weiter!
Was genau überprüfst du hiermit?
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...Code:RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
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.
Sorry, ist wohl schon zu spät ^^
Habe auf Rizzos Post eine Lösung gefunden, die sich allem annimmt...
Das hierCode:RewriteRule ^en/downloads/(.*)$ downloads/$1 [L] RewriteRule ^de/downloads/(.*)$ downloads/$1 [L] RewriteRule ^en/gallery/(.*)$ gallery/$1 [L] RewriteRule ^de/gallery/(.*)$ gallery/$1 [L]
scheint wohl nicht benötigt... Irgendwelche Einwände?Code:RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d
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.
EDITDas hier sollte auch funktionieren und sieht eleganter aus:
Code:RewriteRule ^(en|de)/downloads/(.*)$ downloads/$1 [L] RewriteRule ^(en|de)/gallery/(.*)$ gallery/$1 [L]
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
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]
Siehe oben, mein Nachtrag. Ansonsten greifen die RewriteCond bei jedem Request. Man muß also nicht für jede Regel eine eigene Condition erstellen.
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
Erstaunlicherweise funktioniert das hier nicht in jedem Fall.
Bei Datei A klappt, bei allen anderen wird die Fehlerseite (404) aufgerufen. Wie kann das denn sein?Code:RewriteRule ^(en|de)/downloads/(.*)$ downloads/$1 [L] RewriteRule ^(en|de)/gallery/(.*)$ gallery/$1 [L]
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
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.
#.Viele Grüße - Andreas
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
PHP Tutorials und kostenlose Scripts gibt's bei phpBuddy.eu
Follow phpBuddy on Twitter
LTFB - anfängerfreundliche Tutorials
.
jau klar. Vielen Dank!
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)