Zwei Verschieden Url Formate Möglich?

Hallo,

meine Seite besteht aus zwei Bereichen: ein Backend und ein Frontend.

Momentan taucht im Backend bei CRUD-Aktivitäten die ID (=Primary Key aus der DB) in der URL auf. Im Backend stört mich das nicht. Im Frontend will ich diese verschleiern / verstecken.

Dort will ich nicht die ID für loadModel() usw. verwenden, sondern den Namen des Objektes (also die Spalte "Name" in der DB).

Das Problem ist: Für das Backend funktioniert folgendes:




		'urlManager'=>array(

			'urlFormat'=>'path',

			'rules'=>array(

				'<controller:\w+>/<id:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

			),  

Nur das Frontend bringt immer Fehler 400. Meine erste Lösung bestand darin, die Änderung einzufügen:




		'urlManager'=>array(

			'urlFormat'=>'path',

			'rules'=>array(

				'<controller:\w+>/<id:\d+>'=>'<controller>/view',

'<controller:\w+>/<game:\d+>'=>'<controller>/view',

				'<controller:\w+>/<action:\w+>/<id:\d+>'=>'<controller>/<action>',

				'<controller:\w+>/<action:\w+>'=>'<controller>/<action>',

			),  

Ich habe eine neue Route eingefügt und anstatt ID -> GAME verwendet. Dies war wohl zu einfach gedacht, da es nicht klappt.

Nochmal kurz und knapp:

Backend: path-format kann sein, muss nicht. ID in der URL ok.

Frontend: Path-Formatt muss, ID darf nicht in URL, sondern game=name1 usw.

Was im Backend verwendet wird (urlformat) ist mir egal, soland es funktioniert. Das Frontend ist das was zählt

Welche Lösung besteht für mein Problem?

Nun, deine URL-Regel geht immer noch davon aus, dass der [font="Courier New"]game[/font]-Parameter lediglich Ziffern enthält (\d+). Ich würde es mal mit \w+ versuchen.