• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

redirekt problem

mustang

Mitglied
Hallo Leute,

ich habe derzeit ein Problem mit der .htaccess. Ich möchte eigentlich nur einen einfachen redirect mit mod_rewrite machen.
Meine URL's sehen folgendermaßen aus:
www.meinedomain.de/de/123abc-forum/123abc-ich-habe-ein-problem/2
Also auf der Forenseite mit der ID 123abc wird das Thema mit dem Titel "ich habe ein Problem" mit der ID 123abc und die Seite zwei aufgerufen.
dafür nutze ich in der htaccess folgende rewrite rules:
Code:
RewriteEngine on
RewriteBase /

RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)$  index.php?lang=$1&path=$2&code=$4&page=$6
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)-([-0-9a-z]*)$              index.php?lang=$1&path=$2&code=$4
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)$                          index.php?lang=$1&path=$2&code=$4
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)$                                      index.php?lang=$1&path=$2

Entsprechend verarbeite ich dann die variablen lang, path, code, page.

Nun möchte ich ähnlich wie bei Facebook einen Direktlink zum Profil eines Benutzers anbieten.
So in der Art: www.meinedomain.de/meinname
meinname sollte dabei immer mindestens eine Länge von 3 Buchstaben haben.

Code:
RewriteRule ^([0-9a-z]{3,})            redirect.php?link=$1

Die redirect.php sucht dann in der Datenbank den passenden Nutzer aus und leitet entsprechend weiter.

So war es gedacht.
Leider komme ich jetzt immer auf die redirect.php....
Mich wundert das, denn eigentlich ist ja festgelegt, dass bei zwei Buchstaben oder Zahlen (de, en, ...) auf die index umgeleitet werden soll und bei 3 oder mehr auf die redirect.php
Wäre super, wenn ihr mir helfen könntet....
 
Werbung:
Du solltest noch den Schalter L verwenden, nur um sicherzugehen, dass er nicht mehrere RewriteRules abarbeitet.

Beispiel:
Code:
RewriteEngine on
RewriteBase /

RewriteRule ^([0-9a-z]{3,}) redirect.php?link=$1 [L]
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)$ index.php?lang=$1&path=$2&code=$4&page=$6 [L]
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)-([-0-9a-z]*)$ index.php?lang=$1&path=$2&code=$4 [L]
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)/([0-9a-z]*)$ index.php?lang=$1&path=$2&code=$4 [L]
RewriteRule ^([0-9a-z]{2})/([0-9a-z]*)-([-0-9a-z]*)$ index.php?lang=$1&path=$2 [L]

Moderation: Verschoben von HTML zu Apache.
 
Ah ok. habe mich schon gefragt, was die bewirken. Dankeschön.
Dennoch ist damit mein Problem nicht behoben. Ich komme immer noch auf die redirect.php. Also bei allen Links...
 
Werbung:
hallö,
das liegt jetzt vielleicht noch daran das zu spongbob bist, da die ja eigentlich immer zutrifft.
mach entweder ein ende hin $ oder schaffe ein Unterschied zu anderen zb + als erstes zeichen.

cheffchen
 
Aaaaaaaaaaaaah. Das war es. Ich hab einfach nur das Ende $ vergessen..... simple Lösung. Jetzt funktioniert es!
Danke euch :-)
 
Zurück
Oben