我正在使用Zend Framework构建一个像StackOverflow这样的Q& A网站。除了花哨的网址之外,它都设置好了。 网址应该是这样的:
wwww.site.com/programming/questions/321345/question-title-sanitized-with-dashes
或
www.site.com/photography/questions/45621/photography-site-question
但我也需要网站主页,如:
www.site.com/programming
我想我必须使用路由链接但是一些帮助会很好。
答案 0 :(得分:3)
您可以使用自定义路线轻松实现此目的。由于您未指定有关如何构建代码的任何内容,因此我将做出以下假设:
首先,对于主页案例:
路由:section
,并指定处理您的部分主页的模块,控制器和操作的默认值。
其次,对于问题案例:
路由:section/questions/:id/:title
,并再次指定处理特定问题的模块,控制器和操作的默认值。您还可以将标题的默认值定义为空,因为问题已经可以根据ID找到。
然后,在您的控制器中,您可以使用$this->_getParam('section')
之类的内容来确定应该使用的部分,依此类推。
如果您不知道如何创建这些路线,建议您仔细阅读manual for Zend_Controller_Router和manual for Zend_Application resources,了解如何在您的应用中定义路线。