【问题标题】:how to make multi site with one codeigniter application?如何使用一个 codeigniter 应用程序制作多站点?
【发布时间】:2019-06-28 17:17:09
【问题描述】:

我正在尝试使用 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 无法正确定位控制器。

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

【问题讨论】:

  • shop.com/shop1/checkout(域/控制器/功能)为您提供 404,因为 shop1(控制器)不存在。调查使用子域,例如 shop1.shop.com/controller/function/id
  • 感谢您的帮助,但出于某些原因,我想对子文件夹执行此操作。 @Vickel
  • 不客气,无论如何,根据我的经验,子域方法是需要考虑的一种方法,特别是如果您想稍后将您的网站出售给不同的店主。此外,它还允许您创建不同的数据库,即使在共享服务器上,也更容易

标签: codeigniter multisite


【解决方案1】:

你是说 HMVC?

  1. 在应用程序中下载文件并复制 C.i.3.0 forder:https://bitbucket.org/wiredesignz/codeigniter-modular-extensions-hmvc/downloads
  2. 在 .htaccess 中创建和复制粘贴

    重写引擎开启 RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^(.*)$ index.php/$1 [L]

3.在应用程序/中创建文件夹名称“模块” 4.在应用程序/模块中创建文件夹名称“文件夹” 4.在应用程序/模块/文件夹中创建文件夹名称“控制器、模型、视图” 5.在application/modules/folder/controllers中创建文件名'文件名相同的文件夹'

对于错误 将此粘贴到 MX/Loder.php 中

return $this->_ci_load(array('_ci_view' => $view, '_ci_vars' => $this->_ci_prepare_view_vars($vars), '_ci_return' => $return));

【讨论】:

  • 谢谢我的朋友。@wazowski
  • 我从第一天开始就用HMVC实现了shop系统。根据我的第一篇文章,我需要为任何商店实例使用子文件夹,该子文件夹是新的商店地址,例如:shop.com/shop1、shop.com/shop2。所有这些子文件夹(商店)都使用整个代码和模块作为引擎。 @wazowski
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-08
  • 2021-04-05
  • 2013-12-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多