Turtle: RewriteRules in .htaccess funzt nicht

Hallo,

ich habe folgende RewriteRule in einer .htaccess:

<code>

RewriteEngine On

RewriteRule index.htm$  index.php [PT]
RewriteRule ^(.*)-([0-9]+).htm$  index.php?name=$1&c=$2
RewriteRule ^(.*)-([0-9]+)-([0-9]+).htm$  index.php?name=$1&c=$2&s=$3

</code>

Die URL "http://www.meineDomain.de/xxx/Bla-174.htm"
ruft "index.php?name=Bla&c=174".
Das funktioniert.

Wird aber die URL "http://www.meineDomain.de/xxx/Bla-174-21.htm"
aufgerufen, dann funzt es nicht:
Es werden folgende Parameter an die index.php übergeben:

name= Bla-174
c= 21
s=

Richtig sollte es sein:
name= Bla
c= 174
s= 21

Ich habe dann zwei Zelen vertauscht, das sieht dann so aus:

<code>

RewriteEngine On

RewriteRule index.htm$  index.php [PT]

RewriteRule ^(.*)-([0-9]+)-([0-9]+).htm$  index.php?name=$1&c=$2&s=$3
RewriteRule ^(.*)-([0-9]+).htm$  index.php?name=$1&c=$2

</code>

Aber es hat sich nichts am Ergebnis geändert.

Was ist da falsch?

Danke für Eure Hilfe im vorraus,
Turtle

  1. hi,

    RewriteRule ^(.*)-([0-9]+).htm$  index.php?name=$1&c=$2
    RewriteRule ^(.*)-([0-9]+)-([0-9]+).htm$  index.php?name=$1&c=$2&s=$3

    Wird aber die URL "http://www.meineDomain.de/xxx/Bla-174-21.htm"
    aufgerufen, dann funzt es nicht:
    Es werden folgende Parameter an die index.php übergeben:

    name= Bla-174
    c= 21
    s=

    Natürlich, weil die erste Regel das schon abgreift - "Bla-174" passt zu (.*), und 21 zu ([0-9]+).

    Ich habe dann zwei Zelen vertauscht, das sieht dann so aus:

    RewriteRule ^(.*)-([0-9]+)-([0-9]+).htm$  index.php?name=$1&c=$2&s=$3
    RewriteRule ^(.*)-([0-9]+).htm$  index.php?name=$1&c=$2

    Aber es hat sich nichts am Ergebnis geändert.

    Erst mal sollte der Punkt, wenn ein Punkt gemeint ist, maskiert werden - .

    Die erste Regel sollte dann aber eigentlich auf den genannten Request passen.

    gruß,
    wahsaga

    --
    /voodoo.css:
    #GeorgeWBush { position:absolute; bottom:-6ft; }