1

我有以下Codeigniter 4项目结构。我在使用 base_url() 和在 .env 文件中正确设置 app.baseURL 时遇到问题。以下两个问题是由于同一问题引起的:

项目结构

wamp-web-root
    ci_4_project
        public
        app
        assets

APP结构

public
system
app
    Controllers
        First_controller.php
        Subfolder1
            Subfolder2
                Subfolder3
                    Second_controller.php

第一个问题 - 控制器子目录

我的First_controller.php <a href="<?php echo base_url()."/public/first_controller";?>">Link</a>"工作正常,但我的Second_controller.php <a href="<?php echo base_url()."/public/subfolder1/subfolder2/subfolder3/second_controller";?>">Link</a>"不工作。

第二个问题 - 访问资产文件夹

我使用以下代码在我的视图中包含 css 文件:
<link href="<?php echo base_url();?>/assets/bootstrap-4.4.1/css/bootstrap.css" rel="stylesheet">

在我的.env 文件中:如果我使用app.baseURL = 'http://localhost/ci_4_project/public/',则会显示 Codeigniter调试工具栏,但 css 文件不包含在视图中。如果我在不附加publicapp.baseURL = 'http://localhost/ci_4_project/'的情况下使用ie,则 css 文件将包含在视图中,但不会显示Codeigniter 调试工具栏。显然这是因为资产文件夹不在公用文件夹内,而是在同一级别,所以当我在 baseURL 中使用公共时,资产不包括在内。我的问题是:如何定义 app.baseURL 以及是否在 url中添加public 。

4

1 回答 1

0

对于您的第二个控制器,请确保您正确命名它:

 namespace App\Controllers\Subfolder1\Subfolder2\Subfolder3;
于 2020-05-20T02:35:37.047 回答