我有以下Codeigniter 4项目结构。我在使用 base_url(( 并在 .env 文件中正确设置 app.baseURL 时遇到问题。以下两个问题是由于相同的问题:
项目结构
wamp-web-root
ci_4_project
public
app
assets
应用结构
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 文件。 如果我使用app.baseURL = 'http://localhost/ci_4_project/'
即不附加公共,则 css 文件包含在视图中,但不显示Codeigniter 调试工具栏。显然,这是因为资产文件夹不在公共文件夹中,而是在同一级别,因此当我在baseURL中使用public时,不包括资产。我的问题是:如何定义 app.baseURL 以及是否在 url 中添加公共。
对于第二个控制器,请确保正确配置了它:
namespace AppControllersSubfolder1Subfolder2Subfolder3;