首页 > 解决方案 > 如何使用一个 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 无法正确定位控制器。

我能做些什么来解决这个问题?

标签: codeignitermultisite

解决方案


你是说HMVC吗?

  1. 下载文件并在应用程序中复制 Ci3.0 forder:https ://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads
  2. 在 .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));

推荐阅读