Suchmaschinenfreundliche URLs mit mod_rewrite
Wie kann man eine statischen URLs mithilfe von mod_rewrite erzeugen?
09.01.2007 10:12
Hallo Frank,
ich erkläre das mal anhand einer URL, die ich in dem anderen Thread schon als Beispiel genommen hatte:
http://www.delter.de/oberkategorien_inhalt.php?searchtext=auto&oberkat_id=1&kid2=3&unterkat_id=187
Dynamische URLs enthalten nach dem ? mehrere Parameter, die durch & voneinander getrennt sind, in diesem Fall:
searchtext=auto
oberkat_id=1
kid2=3
unterkat_id=187
Auis den dort enthaltenen Variablen könnte man z.B. eine solche statische URL machen:
http://www.delter.de/1/3/187/auto
Das Umwandeln beinhaltet zwei Arbeitsschritte:
1. du wandelst nach diesem Schema die URLs in den Links um. Browser und Bots fordern danach die so erzeugten statischen URLs vom Server an
2. eine mod_rewrite Rule in der .htaccess wandelt diese URLs intern wieder in die dynamischen URLs um, damit der Server das Script mit den realen Paramatern aufrufen kann
In dem konkreten Fall kann die Rule in der .htaccess folgendermaßen aussehen:
Erläuterungen:
"RewriteEngine On" schaltet mod_rewrite ein (braucht nur einmal in der .htaccess)
^ und $ sind Begrenzungszeichen
Das ([0-9]+) bezeichnet einn Ausdruck mit ein oder mehreren Zahlen, das (.+) einen Ausdruck mit einem oder mehreren Zeichen.
Die Ausdrücke in runden Klamern werden in ihrer Reihenfolge auf der rechten Seite als $1, $2, $3 und $4 wieder aufgenommen
Je nach Serverkonfiguration kann es auch noch notwendig sein, eine RewriteBase anzugeben (Verzeichnis, auf welches sich die folgenden Rules beziehen)
ich erkläre das mal anhand einer URL, die ich in dem anderen Thread schon als Beispiel genommen hatte:
http://www.delter.de/oberkategorien_inhalt.php?searchtext=auto&oberkat_id=1&kid2=3&unterkat_id=187
Dynamische URLs enthalten nach dem ? mehrere Parameter, die durch & voneinander getrennt sind, in diesem Fall:
searchtext=auto
oberkat_id=1
kid2=3
unterkat_id=187
Auis den dort enthaltenen Variablen könnte man z.B. eine solche statische URL machen:
http://www.delter.de/1/3/187/auto
Das Umwandeln beinhaltet zwei Arbeitsschritte:
1. du wandelst nach diesem Schema die URLs in den Links um. Browser und Bots fordern danach die so erzeugten statischen URLs vom Server an
2. eine mod_rewrite Rule in der .htaccess wandelt diese URLs intern wieder in die dynamischen URLs um, damit der Server das Script mit den realen Paramatern aufrufen kann
In dem konkreten Fall kann die Rule in der .htaccess folgendermaßen aussehen:
RewriteEngine On
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/(.+)$ oberkategorien_inhalt.php?searchtext=$4&oberkat_id=$1&kid2=$2&unterkat_id=$3
Erläuterungen:
"RewriteEngine On" schaltet mod_rewrite ein (braucht nur einmal in der .htaccess)
^ und $ sind Begrenzungszeichen
Das ([0-9]+) bezeichnet einn Ausdruck mit ein oder mehreren Zahlen, das (.+) einen Ausdruck mit einem oder mehreren Zeichen.
Die Ausdrücke in runden Klamern werden in ihrer Reihenfolge auf der rechten Seite als $1, $2, $3 und $4 wieder aufgenommen
Je nach Serverkonfiguration kann es auch noch notwendig sein, eine RewriteBase anzugeben (Verzeichnis, auf welches sich die folgenden Rules beziehen)
RewriteEngine On
RewriteBase /
RewriteRule ^([0-9]+)/([0-9]+)/([0-9]+)/(.+)$ oberkategorien_inhalt.php?searchtext=$4&oberkat_id=$1&kid2=$2&unterkat_id=$3
09.01.2007 13:17
Bliebe noch zu erwähnen, dass eine URL wie
SEO-technisch einer URL wiehttp://www.delter.de/auto/sportwagen/ford/gt/
wegen der URL-Keywords überlegen ist.http://www.delter.de/1/3/187/auto
09.01.2007 19:56
Ja, in einem nächsten Schritt kann man dann sogenannte sprechende URLs erzeugen, so wie z.B. auch hier im Forum. Dazu müssen die Titel als weitere Parameter (oder anstelle der alten Paramter) in die dynamischen URL eingebaut werden. Das Rewriten ist dann vom Prinzip her ähnlich
09.01.2007 21:33
Puuhh, das habe ich jetzt mal verinnertlich und werde es mal ausprobieren. Schon mal Danke!
Gruß Frank
Gruß Frank
10.01.2007 07:29
Das ist auch keine ganz einfache Materie. Und wenn du damit nicht weiterkommst und Fragen hast, kannst du diese hier stellen :)
10.01.2007 08:57
Beitrag schreiben (als Gast)
Beim Verfassen des Beitrages bitte die Forenregeln beachten.
| Thema | Autor | Forum | Beiträge | Letzter Beitrag |
|---|---|---|---|---|
| Weiterleiten einer URL abhängig vom Query String | Marco | Server | 58 | 20.03.2012 09:52 |
| Suchmaschinenfreundliche URL´s | tommik | Server | 38 | 05.10.2011 22:59 |
| Ist so was mit 301 möglich | mirkz | Server | 6 | 17.07.2011 16:28 |
| Mehrere Rules für suchmaschinenfreundlichere URLs | Markus | Server | 5 | 30.12.2010 10:12 |
| URLS Suma freundlich gestalten per .htaccess | Werner | Server | 31 | 31.10.2010 18:45 |
| Suchmaschinenfreundliche Url´s mod_rewrite | Klick4 | Server | 16 | 09.05.2010 19:23 |
| Einen Teil der URL entfernen | Larsvo | Server | 8 | 25.04.2009 11:00 |
| .htaccess verschiedene Domains Pointing SSL | Stocki | Server | 6 | 05.03.2009 21:53 |
