Zur Navigation

mod_rewrite für shop-system

1 Manuel (Gast)

Hallo. Ich bau gerade einen Shop und hab das Problem, dass ich beim mod_reqrite anstehe.
Der shop hat mehrere Kategorien und Unterkategorien. Es ist maximal eine Kombination von 1x Haupt- und 2x Unterkategorie möglich - z.B. Schuhe->Nike->Herrn
Das ganze soll dann auf die URL www.domain.com/schuhe/nike/herrn matchen
Das wäre ja nicht das Problem, wenn da nicht das auch so wäre, dass ich auch z.b. nur www.domain.com/schuhe/nike haben möchte...

D.h. der Benutzer klick z.B. auf Schuhe und bekommt alle Schuhe die verfügbar sind. Klickt er anschließend auf die Unterkategorie Nike sollen nur noch die Nike-Schuhe angezeigt werden. Klickt der User dann auf die Unterkategorie Herrn der Unterkategorie Schuhe, dann sieht er nur noch Herrn-Schuhe von Nike.

Im Hintergrund sollen unterschiedlichen Bereiche immer auf index.php matchen und eben als Parameter die Kategorienamen mitgeben. Also sind folgende Zustände möglich:

www.domain.com = index.php
www.domain.com/schuhe = index.php?main=schuhe
www.domain.com/schuhe/nike = index.php?main=schuhe&sub1=nike
www.domain.com/schuhe/nike/herrn = index.php?main=schuhe&sub1=nike&sub2=herrn

Nur wie kann ich das per mod_rewrite verwirklichen?
Hab derzeit folgendes Probiert:

RewriteRule ^([-a-zA-Z]+)/?$ index.php?maincategorie=$1
RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z]+)/?$ index.php?maincategorie=$1&subcategorie1=$2
RewriteRule ^([-a-zA-Z]+)/([-a-zA-Z]+)/([-a-zA-Z]+)?$ index.php?maincategorie=$1&subcategorie1=$2&subcategorie2=$3

Leider funktioniert das nicht so wie ich es will. Die Hauptkategorie zeigt er noch schön an und ich kann per $_Request['maincategorie'] darauf zugreifen. Wähl ich nun eine Unterkategorie aus, kommt nix mehr!

Vielen Dank schon im Voraus!

10.12.2010 12:56

2 Jörg

In der htaccess Datei sollten "&" nicht als "&" codiert werden - das ist nur in HTML- oder XML-Dateien notwendig.

10.12.2010 13:17

Beitrag schreiben (als Gast)

Beim Verfassen des Beitrages bitte die Forenregeln beachten.





[BBCode-Hilfe]