Apache CodeIgniter后端前端.htaccess路由器

Apache CodeIgniter后端前端.htaccess路由器,apache,.htaccess,codeigniter,frontend,backend,Apache,.htaccess,Codeigniter,Frontend,Backend,我正试图开发一个带有CodeIgniter的小型基础CMS,供我自己在项目中使用,但在这方面遇到了困难。另外,我对CI非常陌生,但有几年的时间使用ZF和OOP PHP 首先,让我向您展示我的文件结构: index.php(前端引导) backend.php(后端引导) .htaccess 系统(CI核心) 应用 后端 […]MVC相关文件和文件夹(配置、控制器、模型、视图…) 前端 […]MVC相关文件和文件夹(配置、控制器、模型、视图…) 共点火器 […](缓存、数据库、脚手架

我正试图开发一个带有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路由)
希望我解释得好

有人能帮忙吗?:)


致以最诚挚的问候。

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


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


经过更多的搜索,我找到了一个文档,记录了如何做我需要的事情。它还解释了在CI中实现后端/前端的3种方法:

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

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

在进一步搜索之后,我找到了一份关于如何做我需要的事情的文档。它还解释了在CI中实现后端/前端的3种方法:

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

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

这样做的话,如果我调用“我在这个url上得到404响应”/index.php/backend”。它必须指向backend.php本身,就像请求的其余部分指向index.php一样。我的/system/application/tree结构正确吗?:)后端的URI将类似于任何CI路由,除了其中有/backend/外:
site.com/backend/route/parameter
。至于结构,要使此建议起作用,您需要两个CI副本(我通常不这样做,但在过去有原型),每个根中有一个副本。HMVC方法是我在大多数项目中使用的方法,因为维护一个CI安装要简单得多。。。别动,我肯定需要帮助通过这种方式,如果我调用“我在这个url上得到404响应”/index.php/backend”。它必须指向backend.php本身,就像请求的其余部分指向index.php一样。我的/system/application/tree结构正确吗?:)后端的URI将类似于任何CI路由,除了其中有/backend/外:
site.com/backend/route/parameter
。至于结构,要使此建议起作用,您需要两个CI副本(我通常不这样做,但在过去有原型),每个根中有一个副本。HMVC方法是我在大多数项目中使用的方法,因为维护一个CI安装要简单得多。。。别动,我肯定需要帮助P
RewriteRule ^backend/(.*)$ /backend/index.php/$1 [QSA]
RewriteRule ^(.*)$ index.php/$1 [QSA,L]