CodeIgniter后端前端.htaccess路由器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeIgniter后端前端.htaccess路由器相关的知识,希望对你有一定的参考价值。
我正在尝试使用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路由)
希望我能解释清楚。
有人可以帮忙吗? :)
最好的祝福。
答案
经过更多搜索后,我发现了一篇非常不错的文章,记录了如何做自己需要的事情。 它还说明了在CI中后端/前端的3种方式:
- 单独的应用
- 子目录
- HMVC(分层模型视图控制器)
HMVC非常适合我的需求,但我将首先尝试子目录。 :)
另一答案
基本上,您想并排运行两个CodeIgniter应用程序,一个在根目录中,一个在backend/
。 有几种方法可以做到这一点,但是最简单的方法是为第二个实例添加一个重写规则(删除L ast标志):
RewriteRule ^backend/(.*)$ /backend/index.php/$1 [QSA]
RewriteRule ^(.*)$ index.php/$1 [QSA,L]
以上是关于CodeIgniter后端前端.htaccess路由器的主要内容,如果未能解决你的问题,请参考以下文章
Codeigniter、OpenID 和 .htaccess
CodeIgniter 使用 .htaccess 保护管理控制器
如何使用 .htaccess 在 codeigniter 中实现动态子域?
.htaccess 问题、虚拟子域和 Codeigniter