我有以下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 。