2012-03-29 13 views
1

Für eine Web-Anwendung Ich brauche die folgende URL-Struktur zu handhaben:Zend Route regex für ein Zeichen in URL

http://foo.tld/a/foo

Ich brauche einen regulären Ausdruck für meine Strecke schreiben zu handhaben/a/diesen Teil muss nur 1 Zeichen als Möglichkeit enthalten.

Ich behandle jetzt mit:

routes.suggestions.type = "Zend_Controller_Router_Route_Regex" 
resources.router.routes.suggestions.route = ":character/:q" 
resources.router.routes.suggestions.defaults.module = "default" 
resources.router.routes.suggestions.defaults.controller = "index" 
resources.router.routes.suggestions.defaults.action = "search" 
resources.router.routes.suggestions.defaults.character = "" 

Aber wenn Konflikte mit anderen Controller Urls wie '/ ajax/index', weil ich es jetzt überschreiben.

Kann mir jemand helfen, eine Regex auf die obige Route zu setzen, um ': character' nur für ein einzelnes Zeichen verfügbar zu machen?

Grüße, Nick

Antwort

2

Versuchen das Hinzufügen dieser Zeile:

resources.router.routes.suggestions.reqs.character = "\w" 

, dass die Regex \w (Match 1 Zeichen a-z) an den :character Parameter in der URL hinzuzufügen. Wenn Sie das hinzufügen, wird nur an SearchController weitergeleitet, wenn der URL-Parameter vor der :q 1 Zeichen lang ist.

Siehe auch Using Zend_Config with the RewriteRouter.

+0

Vielen Dank, genau was ich tun musste =) – directory