Dieter: mod_rewrite -> Verständnisfrage / Fehlerdiagnostik

Hallo,

für ein Projekt möchte/soll ich mod_rewrite für "schönere URLs" einsetzen.
So gibt es z.B. folgende Verweise:

  
search.php?scat=Kategorie1  
search.php?scat=Kategorie2  
...  
searchprofile.php?scat=ProfilX  

Mittels mod_rewrite habe ich das jetzt so hinbekommen, das aus den obigen Links das wird:

  
Angebote-Kategorie1  
Angebote-Kategorie2  
...  
Anbieter-ProfilX  

(ich gebe es zu, weil ich micht nicht mit den ganzen Verweisen zu css, js usw. rumschlagen wollte, simuliere ich nicht Ordner...).
Das obige habe ich mit folgender htaccess umgesetzt:

  
RewriteEngine On  
RewriteRule ^Angebote-([^/]*)$ /search.php?scat=$1 [L][S]  
RewriteRule ^Anbieter-([^/]*)$ /searchprofile.php?scat=$1 [L][S]  

Jetzt kommt der Witz an der Sache:
Die Rewrites funktionieren wie gewünscht, ABER: ich komme nicht mehr auf die index.php.
Das heisst das es egal ist ob ich die Domain (in meinem Testfall http://localhost/ordner) oder die index.php direkt aufrufe - es erscheint ein 404.
Die Logfiles sagen hierzu das ich die Datei "-" aufrufen wollte...

Ich bitte daher um ein wenig Mithilfe, denn auch die schönste mod_rewrite taugt nix, wenn man einen 404 bekommt...

Gruss
Dieter

  1. Aloha ;)

    Habe noch keine Blanko-Lösjng für dich, aber ich glaube hier...

    RewriteEngine On
    RewriteRule ^Angebote-([^/])$ /search.php?scat=$1 [L][S]
    RewriteRule ^Anbieter-([^/]
    )$ /searchprofile.php?scat=$1 [L][S]

      
    ist ein Syntaxfehler drin. Laut [Apache-Dokumentation](http://httpd.apache.org/docs/current/rewrite/flags.html) müssen Flags kommasepariert sein. Es ist also eher [L,S] als [L][S]...  
      
    Außerdem frage ich mich, was [S] bedeuten soll... Meiner Recherche nach (siehe verlinkte Seite) müsste S mit Zahlparameter stehen und ist zu L aber imho dann auch redundant... also vielleicht nur [L] verwenden...  
      
    Keine Ahnung, ob das dein Problem löst, aber versuchen schadet nicht... Dass ein Apache bei Syntaxfehlern im htaccess eher nen 500er sendet als einen 404er ist mir prinzipiell natürlich auch klar ;)  
      
    Grüße,  
      
    RIDER  
      
    
    -- 
    Camping\_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller  
      
    ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[  
    
    
    1. Aloha ;)

      Habe noch keine Blanko-Lösjng für dich, aber ich glaube hier...

      RewriteEngine On
      RewriteRule ^Angebote-([^/])$ /search.php?scat=$1 [L][S]
      RewriteRule ^Anbieter-([^/]
      )$ /searchprofile.php?scat=$1 [L][S]

      
      >   
      > ist ein Syntaxfehler drin.  
      > ...  
      > Grüße,  
      >   
      > RIDER  
        
      Hallo Rider,  
        
      das hat sich wohl beim rumexperimentieren / hier reinkopieren einfach und heimlich mit reingeschlichen...  
      Aber in der aktuellen htaccess ist es nicht enthalten, von daher kann ich das als Fehlerquelle ausschliessen; zumal und das ist ja das bemerkenswerte, die rewrite-Rules ja funktionieren...  
        
      Gruss  
      Dieter
      
      1. Aloha ;)

        das hat sich wohl beim rumexperimentieren / hier reinkopieren einfach und heimlich mit reingeschlichen...
        Aber in der aktuellen htaccess ist es nicht enthalten, von daher kann ich das als Fehlerquelle ausschliessen; zumal und das ist ja das bemerkenswerte, die rewrite-Rules ja funktionieren...

        Dann check doch bitte nochmal ab, ob hier tatsächlich exakt die aktuelle Version gepostet wurde und poste den Code per copy/paste eventuell nochmal neu. Abschreibefehler machen mich immer stutzig, ob wir wirklich den problematischen und aktuellen Quellcode vorliegen haben.

        Zumindest sehe ich ansonsten auf Anhieb in deinen Anweisungen keinen Fehler...

        Grüße,

        RIDER

        --
        Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller
        ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[