Christian W: modrewrite-Problem

hiho,

ich versuche grad n bissl was bezüglich mod_rewrite und möchte letztendlich folgendes erreichen:
www.adresse.tld/blablubb soll zu
www.adresse.tld/index.php?page=blablubb werden...

damit sieht meine erste zeile erstmal so aus:
RewriteRule ^(.+)$ index.php?page=$1

so, nun soll das ganze ja z.b. nicht anspringen, wenn die index.php aufgerufen wird, wenn der ordner images aufgerufen wird, genauso wenig wie bei der design.css oder der favicon.ico.

also hab ich angefangen mit rewritecond rumzubasteln, rausgekommen ist folgendes:

RewriteCond %{REQUEST_FILENAME} ^.*[^index.php]$
RewriteCond %{REQUEST_FILENAME} ^.*[^design.css]$
RewriteCond %{REQUEST_FILENAME} ^.*[^images]/.*$
RewriteCond %{REQUEST_FILENAME} ^.*[^favicon.ico]$
RewriteRule ^(.+)$ index.php?page=$1

soweit, so gut, funktioniert auch - bis auf einzelne seiten, wie z.b.
www.adresse.tld/home
www.adresse.tld/wir_ueber_uns
www.adresse.tld/wirueberuns

-> dort kommt ein fehler 404, der rutscht also durch das teil durch. und zwar genau dann, wenn mindestens eine rewritecond da steht - wenn ich die cond's rausnehme werden auch diese seiten mit erfasst..
hat jemand ne ahnung worans liegt?

grüßle

  1. Moin,

    hat jemand ne ahnung worans liegt?

    Nein, aber warum machst Du es nicht einfacher? Zum Beispiel:

      
    # Wenn sich die Anfrage nicht auf eine Datei (!-f) oder einen Ordner (!-d) bezieht  
    RewriteCond %{SCRIPT_FILENAME} !-f  
    RewriteCond %{SCRIPT_FILENAME} !-d  
    # dann folgende Regel:  
    RewriteRule ^(.*)$ /index.php?page=$1 [L]  
    
    

    nähere Informationen findest du auf dieser Webseite, die recht gut erklärt, wie mod_rewrite funktioniert.

    mit freundlichen Grüßen
    Ulrich

    --
    Teiltransparente Bereiche
    selfcode: sh:| br:> ie:% mo:) va:) de:] zu:) fl:( ss:| ls:[
    1. Nein, aber warum machst Du es nicht einfacher?

      Wahrscheinlich, weil ich nicht wirklich nen Plan davon habe ;)

      Wenn sich die Anfrage nicht auf eine Datei (!-f) oder einen Ordner (!-d) bezieht

      RewriteCond %{SCRIPT_FILENAME} !-f
      RewriteCond %{SCRIPT_FILENAME} !-d

      dann folgende Regel:

      RewriteRule ^(.*)$ /index.php?page=$1 [L]

      Vielen Dank für die Lösung!!

      grüßle

      1. Moin,

        Nein, aber warum machst Du es nicht einfacher?
        Wahrscheinlich, weil ich nicht wirklich nen Plan davon habe ;)

        Dem solltest Du begegnen, indem Du obigen Link folgst, und den Weg zur Lösung nachvollziehst ;-)

        mit freundlichen Grüßen
        Ulrich

        --
        Teiltransparente Bereiche
        selfcode: sh:| br:> ie:% mo:) va:) de:] zu:) fl:( ss:| ls:[