Zur Navigation

Mehrere Rules für suchmaschinenfreundlichere URLs

1 Markus (Gast)

Hallo Jörg,

würde mich freuen, wenn du mir ebenfalls behilflich sein könntest.

Da ich mich mit mod_rewriting absolut nicht auskenne und nicht genau definieren kann, zu welchen Thread mein Problem gehört, habe ich mich entschieden hier zu posten.

Folgendes Problem:

Ich baue auf meiner Seite mit entsprechenden URLS Kundenseiten auf:

index.php

www.meineseite/kunden/index.php?city=munchen&client=testkunde

Ich möchte gerne mit mod_rewriting eine Suchmaschinenfreundlichere URL generieren:

www.meineseite/kunden/munchen-testkunde

Das bekomme ich mit folgendem hin:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ index.php?ci=$1&cl=$2

Das funktioniert soweit (ob es so richtig ist, kann ich nicht sagen).

Jetzt habe ich im Root weitere Unterseiten: product.php, offers.php, etc. auf die über das Menü zugegriffen wird. Die unterseiten sehen wie folgt aus:

products.php

www.meineseite/kunden/product.php?city=munchen&client=testkunde&page=product

Hier möchte ich folgende URL mit mod_rewrite erzeugen:

www.meineseite/kunden/munchen-testkunde-produkte

Das hab ich mit folgendem ebenfalls hinbekommen:

RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ products.php??ci=$1&cl=$2&pg=$3

Wenn ich jetzt eine neue Rule für die nächste Seite erstelle, funktioniert es leider nicht mehr:

offers.php

www.meineseite/kunden/offers.php?city=munchen&client=testkunde&page=offers

RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ offers.php??ci=$1&cl=$2&pg=$3

meine .htaccess sieht derzeit so aus:

Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ index.php?ci=$1&cl=$2 [L]
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ products.php?ci=$1&cl=$2&pg=$3 [L]
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ offers.php?ci=$1&cl=$2&pg=$3 [L]

Die Frage ist jetzt, wie kann ich es hinbekommen, dass meine URL auf die entsprechenden Seiten zugreift:

die URL sollte so aussehen:

www.meineseite.de/kunden/munchen-testkunde (index.php)
www.meineseite.de/kudnen/munchen-testkunde-produkte (produkt.php)
www.meineseite.de/kunden/munchen-testkunde-angebote (angebote.php)
www.meineseite.de/kunden/munchen-testkunde-impressum (impressum.php)
etc.

Würde mich freuen, wenn du mir helfen könntest. Suche schon seit Tage im Netz und komme einfach nicht dahinter.

Beste Grüße
Markus

29.12.2010 18:50

2 Markus (Gast)

Von dem ganzen hin und her testen haben ich oben den falsch Code eingetragen. Daher hier nochmals:


Options +FollowSymlinks
RewriteEngine On
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ products.php?pci=$1&pcl=$2&ppg=$3 
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ offers.php?oci=$1&ocl=$2&opg=$3
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ index.php?ci=$1&cl=$2 [L]

Beste Grüße
Markus

29.12.2010 19:03

3 Jörg Kruse

Du hast hier zwei identische Muster:

RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ products.php?pci=$1&pcl=$2&ppg=$3 
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)-([A-Za-z0-9-]+)/?$ offers.php?oci=$1&ocl=$2&opg=$3

Die erste Rule greift hier schon alle entsprechenden URLs ab. Damit auch die zweite Rule zum Zuge kommt, müssen sich die Muster unterscheiden.

www.meineseite.de/kudnen/munchen-testkunde-produkte (produkt.php)
www.meineseite.de/kunden/munchen-testkunde-angebote (angebote.php)

Das würde ich so umsetzen:

RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)-(produkte)/?$ products.php?pci=$1&pcl=$2&ppg=$3 
RewriteRule ^([A-Za-z0-9-]+)-([A-Za-z0-9-]+)-(angebote)/?$ offers.php?oci=$1&ocl=$2&opg=$3

29.12.2010 20:47

4 Markus (Gast)

Hallo Jörg,

funzt.

Vielen vielen Dank. Hat mich Tage gekostet und am Ende war es doch ganz einfach :(

Gibt es igendwelche Rules die evtl. wichtig sind bzw. die eine Seite zwingend haben sollte? Was könntest du empfehlen?

Nochmals vielen Dank für die Unterstützung und vor allem für die super schnelle Rückmeldung. Ich komme wieder, wenns ok ist :)

Beste Grüße
Markus

29.12.2010 21:41

5 Jörg Kruse

Gibt es igendwelche Rules die evtl. wichtig sind bzw. die eine Seite zwingend haben sollte?

Diese hier vielleicht. Etwaige Fragen dazu bitte aber in einem neuem Thread :)

30.12.2010 10:12

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]