【问题标题】:Need to reroute url /foo/index to index/foo on Zend Framework需要将 url /foo/index 重新路由到 Zend Framework 上的 index/foo
【发布时间】:2011-08-30 13:13:25
【问题描述】:
我需要在这里重新路由一个 url。我正在使用终端框架,需要在这里设置一些基本的静态页面。像隐私政策、广告等 - 但问题是我需要为这里的每个页面创建一个控制器。这不是什么大问题,但我想知道我是否可以这样设置它:
mysite.com/privacy/index
将被重新路由到
mysite.com/pages/privacy
听起来好像不是问题,但想知道
【问题讨论】:
标签:
php
zend-framework
url-rewriting
【解决方案1】:
对于每个静态页面,您都可以在 application.ini 中为其添加路由。例如,对于mysite.com/privacy/index,您可以这样做:
resources.router.routes.privacy.route = "/privacy/index"
resources.router.routes.privacy.defaults.module = default
resources.router.routes.privacy.defaults.controller = pages
resources.router.routes.privacy.defaults.action = privacy
有关 ZF 中路由的更多信息,请参见 ZF 的manual。
希望这会有所帮助
【解决方案2】:
根据我的经验,如果不是 100% 需要,我会强烈不鼓励创建自定义路由(带有产品关键字的 URL 或 CMS 生成的页面除外)。我们希望我们的电子商务解决方案拥有像 /about-us/ 这样的好网址,而不是 /pages/about-us/,但要添加更多功能是 PITA,因为您必须为每个此类内容添加新路由。我们目前有 25 条自定义路线。您永远无法分辨 url 是什么黑客,因为像 producer/index 这样的标准 url 是从像 producers 这样的东西路由的。
如果您仍然想要它,请按照 Marcin 的回答 :)