Probleme mit mod_rewrite
Verfasst: 18.07.2012, 12:40
Hallo alle zusammen,
ich hab ein Problem mit einer .htaccess Datei.
Dazu habe ich folgenden Code erstellt:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^variabel1=([^&]+)&variabel2=([^&]+)$
RewriteRule ^(.*) https://www.meinedomain.de/%1-%2.html? [L,R=301]
RewriteRule ^([^&]+)-([^&]+).html$ /index.php?variabel1=$1&variabel2=$2&umgeleitet=ja
RewriteCond %{QUERY_STRING} ^variabel3=wert&variabel4=([^&]+)$
RewriteRule ^(.*) https://www.meine.domain.de/%1.html? [L,R=301]
RewriteRule ^([^&]+).html$ /index.php?variabel3=wert&variabel4=$1&umgeleitet=ja
Die Regel funktioniert auch soweit. Sobald ich bei der 2ten Regel
RewriteRule ^([^&]+).html$ /index.php?variabel3=wert&variabel4=$1&umgeleitet=ja
der "variabel4" einen Wert mit Bindestrich übergebe (z.Bsp: variabel4="mein-wert") wird dieser von dem Server nicht erkannt und nicht entsprechend verarbeitet. Ich erhalte auch keine Fehlermeldung.
Wenn ich aber eine .htacess Datei die nur die Regel
RewriteEngine On
RewriteCond %{QUERY_STRING} ^variabel3=wert&variabel4=([^&]+)$
RewriteRule ^(.*) https://www.meine.domain.de/%1.html? [L,R=301]
RewriteRule ^([^&]+).html$ /index.php?variabel3=wert&variabel4=$1&umgeleitet=ja
dann funktioniert diese auch einwandfrei. Auch Werte mit Bindestrich die ich der "variabel4" übergebe werden ohne Probleme verarbeitet.
Sinn der Übung ist es aus einer dynamische URL die $_GET Werte beinhaltet und wie folgt aussieht:
www.meinedomain.de/index.php?variabel1= ... bel2=wert2
eine SEO freundliche URL zu machen:
www.meinedommain.de/wert1-wert2.html
bzw.
www.meinedomain.de/wert2.html
Hat jemand eine Idee woran das liegen könnte, wenn beide Regeln in der .htaccess Datei liegen, dass die zweite nicht einwandfrei arbeitet?
Für eure Hilfe wäre ich sehr dankbar.
Grüsse,
surfer24
ich hab ein Problem mit einer .htaccess Datei.
Dazu habe ich folgenden Code erstellt:
RewriteEngine On
RewriteCond %{QUERY_STRING} ^variabel1=([^&]+)&variabel2=([^&]+)$
RewriteRule ^(.*) https://www.meinedomain.de/%1-%2.html? [L,R=301]
RewriteRule ^([^&]+)-([^&]+).html$ /index.php?variabel1=$1&variabel2=$2&umgeleitet=ja
RewriteCond %{QUERY_STRING} ^variabel3=wert&variabel4=([^&]+)$
RewriteRule ^(.*) https://www.meine.domain.de/%1.html? [L,R=301]
RewriteRule ^([^&]+).html$ /index.php?variabel3=wert&variabel4=$1&umgeleitet=ja
Die Regel funktioniert auch soweit. Sobald ich bei der 2ten Regel
RewriteRule ^([^&]+).html$ /index.php?variabel3=wert&variabel4=$1&umgeleitet=ja
der "variabel4" einen Wert mit Bindestrich übergebe (z.Bsp: variabel4="mein-wert") wird dieser von dem Server nicht erkannt und nicht entsprechend verarbeitet. Ich erhalte auch keine Fehlermeldung.
Wenn ich aber eine .htacess Datei die nur die Regel
RewriteEngine On
RewriteCond %{QUERY_STRING} ^variabel3=wert&variabel4=([^&]+)$
RewriteRule ^(.*) https://www.meine.domain.de/%1.html? [L,R=301]
RewriteRule ^([^&]+).html$ /index.php?variabel3=wert&variabel4=$1&umgeleitet=ja
dann funktioniert diese auch einwandfrei. Auch Werte mit Bindestrich die ich der "variabel4" übergebe werden ohne Probleme verarbeitet.
Sinn der Übung ist es aus einer dynamische URL die $_GET Werte beinhaltet und wie folgt aussieht:
www.meinedomain.de/index.php?variabel1= ... bel2=wert2
eine SEO freundliche URL zu machen:
www.meinedommain.de/wert1-wert2.html
bzw.
www.meinedomain.de/wert2.html
Hat jemand eine Idee woran das liegen könnte, wenn beide Regeln in der .htaccess Datei liegen, dass die zweite nicht einwandfrei arbeitet?
Für eure Hilfe wäre ich sehr dankbar.
Grüsse,
surfer24