Ergebnis 1 bis 5 von 5
  1. #1
    Wilstedter Apfel
    Themenstarter
    Avatar von Slashwalker
    Registriert
    05.2006
    Beiträge
    1.934

    mod_rewrite Problem mit optionalen Parametern

    Hallo ATler,
    ich habe hier folgende .htaccess:
    Code:
    Options +FollowSymlinks -Multiviews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    RewriteRule ^([a-zA-Z0-9_-]+)/([a-zA-Z0-9_-]+)    index.cfm?id=$2&lang_code=$1    [QSA]
    Damit kann ich nun meine Seite über http://localhost/de/startseite oder http://localhost/en/startseite aufrufen.
    Mein Problem ist nun, das ich den Parameter für die Sprache als optionalen Parameter haben möchte.

    Meine index.cfm kann damit umgehen, wenn keine Sprache übergeben wird. Aber die RewriteRule übergibt bei http://localhost/startseite den Wert startseite als Sprache.

    Es würde natürlich funktionieren, wenn ich die Reihenfolge änder, das sieht dann aber nicht so prickelnd aus: http://localhost/startseite/de

    Und ich meine das gewünschte Verhalten schon bei zig Sites gesehen zu haben. Jemand 'ne Idee?
    VAYA CON TIOZ
    Helden leben lange -Legenden sterben nie!
    La Ultima Cerveza!


  2. #2
    Antonowka Avatar von zoom
    Registriert
    03.2006
    Ort
    Bremen
    Beiträge
    356
    Hallo,

    probiere mal folgende .htaccess aus:
    Code:
    Options +FollowSymlinks -Multiviews
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-l
    # ----- mit Sprachangabe -----
    RewriteRule ^(de|en)/?$ index.cfm?lang_code=$1 [NC]
    RewriteRule ^(de|en)/([a-zA-Z0-9_-]+)/?$ index.cfm?id=$2&lang_code=$1 [NC]
    # ----- ohne Sprachangabe -----
    RewriteRule ^([a-zA-Z0-9_-]+)/?$ index.cfm?id=$1 [QSA]
    Wenn hinter der Domain /de oder /en angegeben ist, dann greifen die ersten beiden Regeln. Ansonsten greift die dritte Regel.

    Gruß zoom
    "Lieber zoom, als Zune." Norbert bei Mac-TV
    X11 für 10.4 installieren!

  3. #3
    Wilstedter Apfel
    Themenstarter
    Avatar von Slashwalker
    Registriert
    05.2006
    Beiträge
    1.934
    Danke, aber das hilft leider nur bedingt. Sorry hatte ich falsch beschrieben. Die Sprache muss natürlich variabel sein. Kann also auch mal dk, fr oder it sein.
    VAYA CON TIOZ
    Helden leben lange -Legenden sterben nie!
    La Ultima Cerveza!


  4. #4
    Antonowka Avatar von zoom
    Registriert
    03.2006
    Ort
    Bremen
    Beiträge
    356
    Du wirst ja eine begrenzte Zahl an Sprachen zur Verfügung stellen können? Die fügst du bei den ersten beiden Regel halt mit ein. (de|en|dk|fr)... Soll das dennoch variabler sein (was nicht unbedingt Sinn macht), kann man sich eine Bedingung überlegen, bei der nur zweistellige Strings als Sprachen interpretiert werden.

    Gruß zoom
    "Lieber zoom, als Zune." Norbert bei Mac-TV
    X11 für 10.4 installieren!

  5. #5
    Wilstedter Apfel
    Themenstarter
    Avatar von Slashwalker
    Registriert
    05.2006
    Beiträge
    1.934
    Ich werd es anders machen. Die Sprachen die zur Verfügung stehen, sind ja in der Datenbank hinterlegt. Also lese ich diese aus und füge sie per Script in die .htaccess ein. Sollte passen.

    Danke für deine Hilfe!
    VAYA CON TIOZ
    Helden leben lange -Legenden sterben nie!
    La Ultima Cerveza!


Ähnliche Themen

  1. Programm mit Parametern öffnen?
    Von Lars282 im Forum OS X
    Antworten: 5
    Letzter Beitrag: 09.09.2009, 08:30
  2. Antworten: 14
    Letzter Beitrag: 07.08.2009, 20:05
  3. mod_rewrite problem
    Von TaTonka im Forum Web-Programmierung
    Antworten: 0
    Letzter Beitrag: 24.08.2008, 12:55
  4. Antworten: 4
    Letzter Beitrag: 28.10.2007, 14:34
  5. WP-Problem mit .htaccess und mod_rewrite
    Von ipu im Forum Web-Programmierung
    Antworten: 21
    Letzter Beitrag: 25.08.2007, 17:26

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •