3

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

4

2 回答 2

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

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

于 2009-08-31T07:05:01.057 回答
3
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"

如果您需要使用正则表达式,这样的东西也可以工作。

于 2012-09-12T15:07:10.790 回答