2012-03-29 1 views
1

Pour une application web que je dois gérer la structure url suivante:itinéraire Zend regex pour un caractère dans url

http://foo.tld/a/foo

Je dois écrire un regex pour ma route pour gérer/a/cette partie doit contenir seulement 1 caractère comme possibilité.

Je poignée maintenant avec:

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 = "" 

Mais si le conflit avec d'autres urls de contrôleur tels que '/ ajax/index' parce que j'Ecraser maintenant.

Quelqu'un peut-il m'aider à placer une regex sur la route ci-dessus pour rendre ': character' disponible pour un seul personnage?

Cordialement, Nick

Répondre

2

Essayez d'ajouter cette ligne:

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

qui ajoutera la regex \w (match de 1 caractère a-z) au paramètre :character dans l'URL. Si vous ajoutez cela, il ne se rendra qu'à SearchController si le paramètre URL avant le :q a une longueur de 1 caractère.

Voir aussi Using Zend_Config with the RewriteRouter.

+0

Merci beaucoup, exactement ce que je devais faire =) – directory