tutorials.de Buch-Aktion 05/2012
Like Tree1Danke
  • 1 Beitrag von CPoly
ERLEDIGT
JA
ANTWORTEN
2
ZUGRIFFE
498
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Tribal Tribal ist offline Grünschnabel
    Registriert seit
    Mar 2011
    Beiträge
    4
    Hallo zusammen,

    habe folgendes Problem:

    Wir haben eine Webseite bei der mittels mod_rewrite "schönere" Urls ausgegeben werden sollen.

    Bisher sah es so aus: www.example.com/index.php?pid=1 (example.com nur als Beispiel)

    Da wir die Seite jetzt auch mehrsprachig gestalten wollen habe ich mit mod_rewrite schon etwas "gebastelt".

    Jetzt wird bspw. aus www.example.com/de/12 dank mod_rewrite www.example.com/index.php?lang=de&pid=12

    Soweit so gut.

    Wenn man aber jetzt einfach die Domain www.example.com im Browser eingibt, kommt zwar die Index Seite, allerdings Status 404. Dasselbe kommt, wenn ich zum Beispiel nur www.example.com/de oder www.example.com/de/ eingebe. Wie kann man diese Sonderfälle abfangen? In den Fällen soll einfach nur die index.php aufgerufen werden, die Parameter werden dann in der Seite abgefangen.

    Hier noch meine htaccess:
    Code :
    1
    2
    3
    
    Options -MultiViews 
    RewriteEngine on
    RewriteRule (de|en)/(.*)$ /index.php?lang=$1&pid=$3 [QSA]

    Vielen Dank für Eure Anregungen

    Gruß

    Tribal
     

  2. #2
    CPoly CPoly ist offline Mitglied Weizenbier
    tutorials.de Premium-User
    Registriert seit
    Sep 2009
    Beiträge
    2.445
    Die Regeln werden von oben nach unten durchlaufen und die erste die passt wird genommen. Also erstell für die Fälle einfach einen neue Regel über der jetzigen.

    Code :
    1
    
    RewriteRule ^/?(de|en)?/?$ /index.php [QSA]
    Tribal bedankt sich. 

  3. #3
    Tribal Tribal ist offline Grünschnabel
    Registriert seit
    Mar 2011
    Beiträge
    4
    Hallo CPoly,

    ich hatte das vorhin so gelöst:

    Code :
    1
    2
    3
    4
    5
    
    RewriteCond %{REQUEST_URI} ^[-_0-9a-z]{0,20}/de$ [NC]
    RewriteRule ^[-_0-9a-z]{0,20}$ index.php?lang=de [NC,QSA]
     
    RewriteCond %{REQUEST_URI} ^[-_0-9a-z]{0,20}/en$ [NC]
    RewriteRule ^[-_0-9a-z]{0,20}$ index.php?lang=en [NC,QSA]

    Hat auch funktioniert, Deine Lösung ist aber einfacher und somit besser. Vielen Dank dafür.

    Ich merke, ich muß mich dringend mit regulären Ausdrücken und mod_rewrite auseinandersetzen, ist ne mächtige Waffe..

    Gruß

    Tribal
     

Ähnliche Themen

  1. mod_rewrite, mal wieder :)
    Von schlumsch im Forum PHP
    Antworten: 9
    Letzter Beitrag: 22.07.11, 11:10
  2. wieder mod_rewrite
    Von Kalito im Forum Hosting & Webserver
    Antworten: 3
    Letzter Beitrag: 20.06.11, 07:55
  3. Mal wieder mod_rewrite :/
    Von Moritz123 im Forum Hosting & Webserver
    Antworten: 2
    Letzter Beitrag: 27.05.06, 19:03
  4. mod_rewrite - mal wieder :D
    Von CrushLog im Forum Hosting & Webserver
    Antworten: 6
    Letzter Beitrag: 08.04.06, 20:04
  5. mod_rewrite (wieder mal)
    Von apric im Forum Hosting & Webserver
    Antworten: 3
    Letzter Beitrag: 16.06.04, 15:19

Stichworte