Der Martin: .htaccess Datei

Beitrag lesen

Hi,

Sonst erkläre bitte erst mal in Worten, was du überhaupt erreichen willst.
meine ganze Datei sieht wie folgt aus:

das ist nicht das, was ich mit "in Worten" meinte, aber durchaus auch informativ. Das hättest du bitte gleich im Startposting angeben sollen! Niemand kann ahnen, was du eigentlich willst, wenn wichtige Teile fehlen.

RewriteEngine On

RewriteBase /

RewriteCond %{REQUEST_URI} !^/media/
RewriteCond %{REQUEST_URI} !^/js/
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-l

RewriteRule ^([a-z,-]+)$  /$1.php [L]

  
Stop! Oder meine Mami schießt!  
Alle RewriteConds, die du aufgezählt hast, gelten für diese eine RewriteRule. Alle nachfolgenden Rules sind unabhängig von den Bedingungen. Die Regel besagt: Alles, was nicht mit /media und nicht mit /js beginnt, und nicht auf eine existierende Datei, ein existierendes Verzeichnis oder einen existierenden Symlink passt, soll bitte auf eine gleichnamige Datei mit der Endung ".php" abgebildet werden. Btw, ohne QSA-Flag?  
  

> `RewriteRule ^([a-z,-]+)/([0-9]+)$  /$1.php?id=$2 [QSA,L]`{:.language-apache}  
  
Alle Requests, die aus einer Gruppe von Kleinbuchstaben, Kommas oder Minuszeichen, gefolgt von einem Slash, gefolgt von mindestens einer Ziffer bestehen, sollen ebenfalls auf eine Datei mit der Endung .php abgebildet werden.  
  

> `RewriteRule ^([a-z,-]+)/([a-z,A-Z,0-9,!,.]+)$  /$1.php?user=$2 [QSA,L]`{:.language-apache}  
  
Dito, nur dass in der zweiten Gruppe auch noch Groß- und Kleinbuchstaben, Kommas, Ausrufezeichen oder Punkte vorkommen dürfen. Es ergibt übrigens keinen Sinn, das Komma mehrmals zu nennen.  
  

> damit sage ich, wenn z.B. "impressum.php aufgerufen wird, dass es umgewandelt werden soll in /impressum  
  
Nein, umgekehrt: Wenn /impressum aufgerufen wird, soll das auf /impressum.php abgebildet werden.  
  

> Das alles geht, aber er soll NICHT aus dem Ordner JS eine JS.php machen wie er es DERZEIT macht.  
  
Das schließt du auch nirgends aus. Du schließt das Verzeichnis /js aus, aber nicht /JS. Beachte, dass die meisten Server unter Unix/Linux laufen, und da wird Groß- und Kleinschreibung bei Dateinamen sehr wohl unterschieden.  
  
Ciao,  
 Martin  

-- 
Verliebt:    Er spricht, sie lauscht.  
Verlobt:     Sie spricht, er lauscht.  
Verheiratet: Beide sprechen, und die Nachbarn lauschen.  
Selfcode: fo:) ch:{ rl:| br:< n4:( ie:| mo:| va:) de:] zu:) fl:{ ss:) ls:µ js:(