【问题标题】:How can I clean up Symfony admin routes?如何清理 Symfony 管理路由?
【发布时间】:2010-12-14 21:11:31
【问题描述】:

我的后端 URL 如下所示:

 mysite.com/backend.php/blog

我想改成:

 mysite.com/backend/blog

从技术上讲,这不仅限于管理应用程序,因为 Symfony 授予每个应用程序两个前端控制器脚本。但我讨厌在 URL 中使用脚本名称,因此我想更改它。这可能吗?

提前致谢。

编辑

@codecowboy - 我确实通过在 web 目录中创建一个“后端”目录来解决这个问题。然后我复制了 symfony 放入 web 的 .htaccess 文件,并将 backend.php 和 backend_dev.php 前端控制器移动到 /backend 并将它们重命名为 index.php 和 index_dev.php。然后在每个前端控制器中,我告诉 PHP 进一步查找项目配置类的目录。我已经这样做了一段时间了,它完美地满足了我的需求。实际上,我将这一切都包含在一个任务中,以便设置一个新的管理应用程序是一个 1 步过程。

【问题讨论】:

    标签: php routing symfony1


    【解决方案1】:

    你可以添加

     #I'm no regular expression expert or mod_rewrite expert, this line probably has some bugs 
     RewriteRule ^backend(.*)$ backend.php [QSA,L]
    

    到您的 .htaccess 文件之前

    RewriteRule ^(.*)$ index.php [QSA,L] 
    

    这样就解决了 1/2 的问题。发送到 yoursite.com/backend/xxx 的任何内容都将通过 backend.php 进行路由。你遇到的另一个问题是内部 symfony 路由。它会将 yoursite.com/backend/xxx 解释为对模块“后端”和操作“xxx”的请求。我敢肯定这不是太难解决。祝你好运!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-23
      • 1970-01-01
      • 2015-05-24
      • 2013-05-29
      • 2012-09-10
      • 1970-01-01
      相关资源
      最近更新 更多