6

我正在尝试在子文件夹中安装使用 codeIgniter 制作的应用程序,以便我可以使用以下方式访问它:http://www.domain.com/my_subfolder/ 在根目录下,有一个 Wordpress 应用程序。我编辑了 Wordpress 安装的 .htaccess,让请求转到文件夹 /my_subfolder/

它工作正常,我得到的唯一问题是 CodeIgniter 无法动态加载“库”目录中的类。所以 CI 应用程序中的一切工作正常,直到它尝试使用在“库”子文件夹中声明的对象,然后我得到一个:无法加载请求的类:my_class

似乎“config”文件夹中没有参数可以更改...任何想法?

4

3 回答 3

7

您需要在System > application > config.

然后编辑 config.php 并设置属性:

$config['base_url'] = "http://www.domain.com/my_subfolder/"
于 2010-02-04T09:14:16.900 回答
1

好吧,似乎应该更新配置参数 base_url 。另外,我使用了一个带有“MY_”前缀的库,我不应该因为我没有扩展任何 CI 类。

于 2010-02-04T22:38:19.580 回答
1

这是 2021 年。如果有人在 CodeIgniter 4 上遇到同样的问题,我遇到这个问题时就是这样解决的。

问题 我将 CI 安装在我的 public_html 文件夹(即 example.com/api)的子文件夹中。当我访问www.example.com/api时,我看到了 403 禁止错误。

解决方案

  • 在本地机器上下载并解压缩 CI 或使用 composer。

  • 将公用文件夹重命名为您的子文件夹的名称。就我而言,我将其命名为api

  • 创建另一个文件夹并为其命名,例如,让我们使用芒果(是的,我喜欢芒果)。将所有剩余的文件和文件夹(app、system、writables、env、LICENSE、README、composer、phpunit、spark)复制到 mango 文件夹中。完成此操作后,我们应该有 2 个文件夹:api 和 mango

  • 将这两个文件夹复制到您的实时服务器 cpanel 根目录(不要复制到 public_html 或 www)。让它们与public_html处于同一水平

  • 打开 api/index.php 并更改 $pathsConfig = FCPATH 。'../app/Config/Paths.php'; 到 $pathsConfig = FCPATH 。'../芒果/app/Config/Paths.php';

  • 创建一个子域并将其指向 /api

  • 转到 api 文件夹,复制 env 文件并将其重命名为.env

  • 打开 .env 并查找 app.baseURL=''。删除“#”以取消注释该行并将其更改为 app.baseUrl='http://subdomain' 其中 subdomain 是您在上面创建的子域,例如http://api.example.com

  • 打开 mango/app/config/App.php 并查找 public $baseUrl 并将其设置为子域,例如 $baseUrl = 'http://api.example.com'

  • 您的 CI 项目现在配置良好。访问http://api.example.com。你应该会看到 CodeIgniter 欢迎页面。

于 2021-09-08T21:52:07.537 回答