如何在Zend Framework Router中使参数可选

Niz*_*zam 3 regex router zend-framework

我想知道.ini配置文件设置,以创建一个路由,其中​​页码参数是可选的,以便

http://news.mysite.com/national
http://news.mysite.com/national/1
Run Code Online (Sandbox Code Playgroud)

指向同一页面.

我的代码如下

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"
Run Code Online (Sandbox Code Playgroud)

some1帮助我解决方案修改此代码,使其适用于两个网址

sma*_*007 7

您可以在没有正则表达式路由的情况下执行此操作:

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
Run Code Online (Sandbox Code Playgroud)

我假设您希望每个请求都转到"新闻"模块和"索引"控制器.只有动作和页面在URL中是可变的.