如何使参数可选在Zend框架路由器
-
20-09-2019 - |
题
我想知道在.ini配置文件设置,以使一个途径,其中页号参数是可选的,以便
http://news.mysite.com/national
http://news.mysite.com/national/1
指向相同的页面。
我的代码如下:
resources.router.routes.news_list.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.news_list.route = "([a-zA-Z0-9\-]+)/([0-9\-]+)"
resources.router.routes.news_list.defaults.module = "news"
resources.router.routes.news_list.defaults.controller = "index"
resources.router.routes.news_list.defaults.action = "category"
resources.router.routes.news_list.defaults.page = 1
resources.router.routes.news_list.map.1 = "categ"
resources.router.routes.news_list.map.2 = "page"
resources.router.routes.news_list.reverse = "%s/%s"
some1能帮我一个解决方案修改此代码,使其成为这两个URL工作
解决方案
可以使用做到这一点没有正则表达式路线:
routes.news_list.route = ":action/:page"
routes.news_list.defaults.module = "news"
routes.news_list.defaults.controller = "index"
routes.news_list.defaults.action = "category"
routes.news_list.defaults.page = 1
我假设你希望每一个要求,到“新闻”模块和“指数”控制器。只有动作和页面是在url变量。
其他提示
resources.router.routes.news_list.type = "Zend_Controller_Router_Route_Regex"
resources.router.routes.news_list.route = "([a-zA-Z0-9-]+)/?([0-9]+)?"
resources.router.routes.news_list.defaults.module = "news"
resources.router.routes.news_list.defaults.controller = "index"
resources.router.routes.news_list.defaults.action = "category"
resources.router.routes.news_list.defaults.page = 1
resources.router.routes.news_list.map.1 = "categ"
resources.router.routes.news_list.map.2 = "page"
resources.router.routes.news_list.reverse = "%s/%d"
这样的事情可能工作太的情况下,你需要使用正则表达式。
不隶属于 StackOverflow