php - 覆盖默认路由但在必要时调用它

标签 php zend-framework url-routing

我正在开发一个具有如下 url 的网站:

site.com/james
site.com/james/photos

此 url 的架构是这样的:site.com/USERNAME/APPLICATION

用户名和应用程序名称都是从 db yb 程序逻辑中检查的。我为此设置了路由,但 Zend 将所有请求路由到该路由。

但是有相同的 Controller 和管理模块。当我访问 site.com/admin 时,它会查找用户名“admin”。或者当我访问 site.com/james/profile 时,它​​会尝试查找名为“profile”的应用程序。但是在 UserController 中有一个 Action 。

我怎样才能实现这个功能?例如,查找 Controller 名称并在 Controller 存在时将请求发送给它们的前端 Controller ?

最佳答案

看看重写 Zend_Controller_Action __call($method, $args) 方法,如果找不到所需的操作,该方法将被调用。 您可以将 site.com/USERNAME/APPLICATION 检查逻辑放在默认 Controller (或任何最有意义的地方)的 __call 方法中,然后返回使用默认路由。

关于php - 覆盖默认路由但在必要时调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2382974/

相关文章:

ASP.NET 上下文重写路径 404 错误

php - 如何在 PHP 中实现 URL 路由

php - 使用 PHP 的谷歌分析 API v4。排序输出

php - 具有权限的网络文件服务器框架?

php - 将 Zend Framework 从版本 X 升级到版本 Y

php - Zend Framework 1.10 中自定义函数的放置位置

php - Facebook Graph API PHP SDK 作为页面在页面上发布

php - mpdf不支持阿拉伯文和中文字体

database - 我如何让 zend 识别 Propel ORM 的路径

javascript - Ember.JS 路由与 Google map