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

标签 regex zend-framework router

我想知道 .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

我假设您希望每个请求都转到“新闻”模块和“索引” Controller 。 url中只有action和page是可变的。

关于regex - 如何在 Zend Framework Router 中使参数可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1355891/

相关文章:

php - mysql中的外键引用问题

node.js - 通过 http put 请求访问对象中的数据

model-view-controller - 为什么要使用 MVC/路由器

javascript - 用于分割字符串的复杂正则表达式

javascript - 无法检测到匹配的空间

c# - .Net 正则表达式 : what is the word character\w?

zend-framework - 多选,设置默认选定值

php - Zend_Translate - Zend_Navigation 和 Routing 组合问题!

javascript - Angular 7 Router - 在不添加历史记录的情况下导航

regex - 在 R 中重新格式化抓取的日期