Dies kann mit der mod rewrite-Direktive in Ihrer .htaccess-Datei erfolgen. Um dies zu tun, sollte Ihre .htaccess-Datei die folgenden Zeilen mit einer Direktive pro Zeile enthalten:
RewriteEngine On
RewriteRule ^blog/([0-9]+)/([a-z]+)$ /blog/index.php?year=$1&month=$2 [nc]
EXPLANATION:
RewriteEngine On
Die erste Zeile stellt sicher, dass Ihre RewriteEngine eingeschaltet ist.
RewriteRule ^blog/([0-9]+)/([a-z]+)$ /blog/index.php?year=$1&month=$2 [nc]
Die zweite Zeile wird wie folgt erklärt:
^blog/ - stellt sicher, dass es am Anfang des Strings beginnend mit Blog aussehen wird
([0-9]+) - sucht nach einer Reihe von Zahlen von 0-9. Das + am Ende stellt sicher, dass es wiederholte Zahlen ein oder mehrere Male übereinstimmen wird, d. H. Der Fall von 2007.
([a-z]+)$ - sucht nach einer Eingabe in Kleinbuchstaben. Das + am Ende stellt sicher, dass es wiederholte Buchstaben ein oder mehrere Male, d. H. Der Fall von Tree, wiedergibt. In diesem Beispiel spielt der Fall keine Rolle, weil wir am Ende der Regel hinzugefügt haben. Das Dollarzeichen am Ende sagt der Direktive einfach, nach dem Ende zu suchen der Linie.
/blog/index.php?year=$1&month=$2 - das ist es, was die Website übersetzt, wo $1 ist die erste Eingabe erhalten, in diesem Fall 2007 und $2 ist die zweite Eingabe erhalten, in diesem Fall jan.
[nc] - Dies steht für "no case" oder "non-case sensitive". Wenn Sie dies am Ende der Regel haben, ist es egal, in welchem Fall sich die Eingabe befindet. Zum Beispiel: http://www.example.com/blog/2007/JaN wird das gleiche wie http://www.example.com/blog/2007/jan.
Dies kann leicht erweitert werden, um viele verschiedene Arten von Eingaben in allgemeineren oder spezifischen Begriffen mit regulären Ausdrücken (regex / regexp) aufzunehmen. Weitere Informationen zu Regex und wie man es benutzt, finden Sie unter:
http://www.regular-expressions.info/tutorial.html
Weitere vollständige Informationen zur mod rewrite-Direktive finden Sie unter:
http://httpd.apache.org/docs/1.3/mod/mod_rewrite.html