twocoders.de
 

programme/htaccess/mod_rewrite/htaccess


1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
#Die folgende .htaccess - Datei soll eine dynamische URL in eine besser lesbare und auch für Suchmaschinen umgänglicheren Form umwandeln.
#Ausgangs URL: http://www.domain.de/index.php?seite=home.html&sprache=de
#Ergebnis URL: http://www.domain.de/de/home/home.html

RewriteEngine On
RewriteRule ^([a-zA-Z]*)/([a-zA-Z]*/[a-zA-Z]*\.[a-zA-Z]*)$ /index.php?seite=$2&sprache=$1 [L]

# die Ausdrücke zwischen den eckigen Klammern drücken den Suchausdruck aus. Also bedeutet:
# -> [a-z]: ein Kleinbuchstabe
# -> [A-Z]: ein Großbuchstabe
# -> [a-zA-Z0-9]: ein Groß- oder Kleinbuchstabe oder eine Zahl
# -> [a-z]* beliebig viele Kleinbuchstaben
# -> ein Punkt muss "escaped" werden: \.

# die runden Klammern umfassen immer alles was in einer Variablen steht (siehe ganz hinten in der Zeile das $1 und $2)
# -> ([a-z]*/page_[0-9].html) also wird bei einer URL-Eingabe von beispiel/page_9.html in der Variable auch beispiel/page_9.html stehen.

# mit dem $-Zeichen endet der Suchausdruck und beginnt der Ersetzausdruck
# -> /index.php?seite=$2&sprache=$1 ist der Ersetzausdruck. 
#Dieser kann auch leer sein bzw. es muss dann ein - geschrieben werden.
# ^([a-z]*/page_[0-9].html)$ - [L]

# das [L] bedeutet, dass die Änderungen an der URL hier abgeschlossen sind und nachfolgende RewriteRule's nicht beachtet werden.
# -> [NC] Groß-, Kleinschreibung nicht beachten
# -> [N] geänderte URL nochmal durch alle Regeln laufen lassen
# -> [C] nächste Regel wird nur angewendet, wenn die aktuelle Regel zugetroffen hat

# ---> siehe auch: http://www.modrewrite.de/mod_rewrite.syntax.phtml