【发布时间】:2011-06-03 23:46:16
【问题描述】:
我使用模块布局来构建我的控制器:
:模块/:控制器/:动作
我想添加一个新的自定义路由,以便下面的 url 可以工作。
domain.com/用户名
其中用户名是网站上任何注册用户的用户名。
谁能指出我正确的方向?
谢谢
【问题讨论】:
标签: zend-framework zend-controller-router
我使用模块布局来构建我的控制器:
:模块/:控制器/:动作
我想添加一个新的自定义路由,以便下面的 url 可以工作。
domain.com/用户名
其中用户名是网站上任何注册用户的用户名。
谁能指出我正确的方向?
谢谢
【问题讨论】:
标签: zend-framework zend-controller-router
有关如何在 ZF 中执行此操作的详细说明,请参阅此博客文章:
http://tfountain.co.uk/blog/2010/9/9/vanity-urls-zend-framework
【讨论】:
不确定您是否可以制作像domain.com/username 这样的东西。相反,您可以使用domain.com/u/username 或domain.com/user/username。例如,要在 application.ini 中创建第二条路由,您可以输入类似于以下内容的内容:
resources.router.routes.user.route = "/user/:user"
resources.router.routes.user.type = "Zend_Controller_Router_Route"
resources.router.routes.user.defaults.module = default
resources.router.routes.user.defaults.controller = user
resources.router.routes.user.defaults.action = user
resources.router.routes.user.defaults.user =
resources.router.routes.user.reqs.user = "\s+"
【讨论】:
http://framework.zend.com/manual/en/zend.controller.router.html 很好地涵盖了您可以添加路由的所有不同方式。请记住,一旦您添加了自定义路由,默认路由将不再起作用,除非您明确定义它(以及在 url 视图助手等中)。
【讨论】: