【问题标题】:CodeIgniter Backend Frontend .htaccess routerCodeIgniter 后端 前端 .htaccess 路由器
【发布时间】:2010-12-14 10:33:36
【问题描述】:

我正在尝试使用 CodeIgniter 开发一个小的基础 CMS,以供我自己在项目中使用,但被卡住了。另外,我对 CI 很陌生,但在 ZF 和 OOP PHP 方面有几年的经验。

首先让我展示一下我的文件结构:

  • index.php(前端引导)
  • backend.php(后端引导)
  • .htaccess
  • 系统(CI核心)
    • 申请
      • 后端
        • [...] MVC 相关文件和文件夹(配置、控制器、模型、视图...)
      • 前端
        • [...] MVC 相关文件和文件夹(配置、控制器、模型、视图...)
    • 代码点火器
    • [...](缓存、数据库、脚手架...)

好的。我可以使用 .htaccess 来处理 index.php 或 backend.php 路由,但不能同时使用它们。这是 .htaccess 代码:

RewriteEngine on
RewriteBase /

# Hide the application and system directories by redirecting the request to index.php (and throwing a 404 error)
RewriteRule ^(application|system|\.svn) index.php/$1 [L]

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d

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

嗯,我需要的是以下内容:

  • www.domain.com/backend/controller/action/parameters(backend.php 路由)
  • www.domain.com/controller/action/parameters(index.php 路由)

希望我解释清楚。

有人可以帮忙吗? :)

最好的问候。

【问题讨论】:

    标签: apache .htaccess codeigniter frontend backend


    【解决方案1】:

    经过一番搜索,我找到了一个very nice article,记录了如何做我需要做的事情。它还解释了 CI 中后端/前端的 3 种方法:

    • 单独的应用程序
    • 子目录
    • HMVC(分层模型视图控制器)

    HMVC 非常适合我的需求,但我会先尝试子目录。 :)

    【讨论】:

      【解决方案2】:

      基本上,您希望并排运行两个 CodeIgniter 应用程序,一个在根目录中,一个在 backend/ 中。有几种方法可以做到这一点,但最简单的是为您的第二个实例添加重写规则(删除 Last 标志):

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

      【讨论】:

      • 这样做,如果我调用“localhost/ci_cms/backend”,我会通过这个 url“/index.php/backend”得到 404 响应。它必须指向 backend.php 本身,就像请求的其余部分指向 index.php。我的 /system/application/ 树结构是否正确?:)
      • 后端的 URI 将类似于任何 CI 路由,但其中包含 /backend/:site.com/backend/route/parameter
      • 至于结构,要使这个建议起作用,您需要 2 个 CI 副本(我通常不这样做,但在过去有原型),每个根中都有一个副本。 HMVC 方法是我最终在大多数项目中使用的方法,因为维护一个 CI 安装要简单得多。
      • 这个周末我会试试 HMVC... 敬请期待,我肯定需要帮助。 :P
      猜你喜欢
      • 2016-01-29
      • 2020-11-07
      • 1970-01-01
      • 2017-12-20
      • 2021-05-05
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多