Wie funktioniert das? [bedingte Dateiauswahl]

URLs umschreiben, umleiten, blocken oder sperren - all das und noch viel mehr kann mit mod_rewrite erreicht werden. Mit regulären Ausdrücken, Conditions und Rules stehst Du auf Kriegsfuss? mod_rewrite macht nicht das was Du willst, oder funktioniert gar nicht? hier bist Du richtig!

Moderatoren: Bob, Super-Mod

Wie funktioniert das? [bedingte Dateiauswahl]

Beitragvon Tomlin » 09.08.2011 20:47

Hallo,

nach längerer Abstinenz habe ich wieder mal etwas programmiert und wollte von Anfang an mit mod_rewrite arbeiten. Allerdings macht das Script nicht, was ich will...

Code: Alles auswählen
RewriteEngine On
RewriteCond %{QUERY_STRING} ^(.*)/Login(.*)$
RewriteRule ^/?([a-zA-Z_]+)/$ login.php?page=$1 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/$ login.php?page=$1&action=$2 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/([0-1]+)$ login.php?page=$1&action=$2&cached=$3 [L]
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^/?([a-zA-Z_]+)/$ index.php?page=$1 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/$ index.php?page=$1&action=$2 [L]
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/([0-1]+)$ index.php?page=$1&action=$2&cached=$3 [L]



Grundsätzlich werden alle inhalte von der index.php über die Parameter page, action und cached geladen.
index.php beinhaltet eine Überpruefung, ob man eingeloggt ist. Es soll also beim Aufruf der Seite immer die index.php geladen werden, die dann auf login.php umleitet. Aber dort soll auch mod_rewrite zum Einsatz kommen, sie folgt dem gleichen Prinzip. Momentan ist es so, dass er zB bei Home/Index nicht erkennt, dass man nicht eingeloggt ist und den Inhalt trotzdem anzeigt, da die login.php zum Einsatz kommt (sehe ich über die Servervariablen)...

Meine Idee fuer das Script: Wenn /Login/ in der Adresse vorkommt, benutze login.php, in jedem anderen Fall index.php. Und ich bin mir irgendwie ziemlich sicher, dass man die "Optionalität" der Parameter action und cached besser ausdrücken kann :cry: - und die "abschließenden" / sollten evtl. auch "optional" sein...

Vielleicht hat ja wer zu später Stund' eine Idee...

Viele Grüße,
Tomlin
Tomlin
.
.
 
Beiträge: 2
Registriert: 28.12.2010 10:54

Zurück zu mod_rewrite

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste