【问题标题】:fatfreeframework Routing for frontend and backoffice前端和后端办公室的无脂肪框架路由
【发布时间】:2014-12-29 13:13:38
【问题描述】:

我想在 routes.ini 文件中为前端和后台配置不同的路由。

这是我几乎拥有的:

[routes]

GET|POST /admin/@controller/@action =@controller->@action
GET|POST /admin/* =Backoffice->main
GET|POST /* =Website->main

我想要的是:

  • 任何以 /admin/... 开头的 url 都是后台 url。这将调用“Backoffice”控制器中的方法“main”,或者,如果给定,调用@controller->@action
  • 任何其他 url 都应由“网站”控制器中的“主”方法管理。该控制器在数据库中查找匹配的 url 并显示其内容。否则显示 404 页面。

我的问题是,现在任何东西都会转到 Website->main(),这是错误的。谁能帮帮我?

【问题讨论】:

  • 也许再考虑一下你的路由配置。通配符通常会吃掉您不关心的路线中的所有内容。
  • 我知道这是问题所在,ikkez。因为前端的 url 可以是 /company/sales/our_most_expensive_product 或只是 /here_we_go 我想我必须使用通配符。前端和后端的唯一区别是所有后端 url 都以 /admin/ 开头并使用控制器/动作映射。
  • 好吧,我认为您可以定义您的前端路线:您的示例`/company/sales/our_most_expensive_product` 可以是/@category/@subcategory/@product/@module/*。我相信你会找到适合所有人的方法;)
  • 您还可以考虑将额外的 index.php 和 htaccess 文件放在真正的 /admin/ 目录中。所以你可以有一个额外的引导文件只用于管理后端。

标签: routing url-routing fat-free-framework


【解决方案1】:

为什么不在控制器中设置 ->beforeroute() 函数,然后使用正则表达式来查找 url 是否有 /admin/。

【讨论】:

    猜你喜欢
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    • 2019-12-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-26
    • 1970-01-01
    相关资源
    最近更新 更多