1

我正在尝试使用 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 路由)

希望我解释得很好。

有人可以帮忙吗?:)

最好的祝福。

4

2 回答 2

1

经过一番搜索,我发现了一篇非常好的文章,记录了如何做我需要做的事情。它还解释了 CI 中后端/前端的 3 种方法:

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

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

于 2009-11-08T22:02:38.560 回答
0

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

RewriteRule ^backend/(.*)$ /backend/index.php/$1 [QSA]
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
于 2009-11-08T21:07:55.007 回答