Zend маршрут регулярных выражений для одного символа в URL - PullRequest
1 голос
/ 29 марта 2012

Для веб-приложения мне нужно обработать следующую структуру URL:

http://foo.tld/a/foo

Мне нужно написать регулярное выражение для моего маршрута для обработки / / эта часть должнасодержать только 1 символ в качестве возможного.

Теперь я работаю с:

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

Но если конфликтует с другими URL-адресами контроллера, такими как / ajax / index, потому что я перезаписываю его сейчас*

Может ли кто-нибудь помочь мне разместить регулярное выражение на маршруте выше, чтобы сделать ': персонаж' доступным только для одного персонажа?

С уважением, Ник

1 Ответ

2 голосов
/ 29 марта 2012

Попробуйте добавить эту строку:

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

Это добавит регулярное выражение \w (соответствует 1 символу a-z) к параметру :character в URL. Если вы добавите это, он будет перенаправлен на SearchController, только если параметр URL перед :q имеет длину 1 символ.

См. Также Использование Zend_Config с RewriteRouter .

...