codeigniter - 如何使用一个 codeigniter 应用程序制作多站点?
问题描述
我正在尝试使用 codeigniter 开发购物系统。
我开发了我的购物系统的后端和前端。
但我的问题是我想将此代码用于许多商店。
例如,我的主要地址是 shop.com。
我希望人们可以在我的系统中拥有自己的商店,并使用他们自己的子文件夹,如下所示:shop.com/shop1 | shop.com/shop2 & ...
我希望将用户子文件夹放在应用程序文件夹之外。
我的目录列表是这样的:
shop.com
-application
--cache
--config
--controllers
--core
--helpers
--...(other application contents)
-assets
-attachments
-system
-shop1
-shop2
& ...
我制作了所有商店零件,当我致电 shop.com 时,一切都很好。
现在我想用特定的子文件夹和数据库制作 shop1。
我可以为每个商店制作单独的数据库并将代码连接到他自己的数据库。在此之后,我调用 shop.com/shop1 并且主页加载就像一个魅力。
但是当我打电话给商店控制器(例如:shop.com/shop1/checkout)时,我收到 404 错误。
最后我注意到两点:
1- 我使用原始的 codeigniter 根 index.php 代码作为我的 shop1/index.php
2-我将 $system_path 更改为 ../system 并将 $application_folder 更改为 ../application
似乎 codeigniter 无法正确定位控制器。
我能做些什么来解决这个问题?
解决方案
你是说HMVC吗?
- 下载文件并在应用程序中复制 Ci3.0 forder:https ://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads
在 .htaccess 中创建和复制粘贴
RewriteEngine On RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]
3.在应用程序/模块中创建文件夹名称'modules' 4.在应用程序/模块中创建文件夹名称'文件夹' 4.在应用程序/模块/文件夹中创建文件夹名称'控制器、模型、视图' 5.创建文件名'文件名相同应用程序/模块/文件夹/控制器中的文件夹'
对于错误将其粘贴到 MX/Loder.php
return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return));
推荐阅读
- laravel - 如何使用 laravel 创建有限的搜索结果,如果限制 exsausted 用户将不再能够搜索
- vuejs2 - 在没有激活器的情况下使用 Vue、Vuex 和 Vuetify 为每个卡片项创建对话框的最佳实践是什么
- javascript - 请解释为什么此代码返回未定义
- android - NullPointerException 错误。应用程序运行但一直停止。请提供任何帮助
- python - 如何在tensorflow中使用给定的分隔符生成词汇?
- sql - 同一选择查询中的 Hive 查询条件语句
- python - 整数输入数的倒数
- excel - 在给定行中仅计算一次值的公式
- python - ModuleNotFoundError:没有名为“plotTools”的模块
- javascript - HTML表单计算系统