【问题标题】:Codeigniter 4 does not load CSSCodeigniter 4 不加载 CSS
【发布时间】:2021-08-09 01:12:07
【问题描述】:

CSS 未在 Codeigniter 4 中加载。我的 css 文件位于 /public/assets/css/app.css 下

我这样包含它:

<link rel="stylesheet" href="<?=base_url();?>/assets/css/app.css"/>

我已经像这样配置了我的 .env 文件:

app.baseURL = 'http://localhost/[project_name]/'

.htaccess(默认 Codeigniter 文件)

DirectoryIndex /public/index.php
RewriteEngine on
RewriteCond $1 !^(index\.php|images|assets|css|js|robots\.txt|favicon\.ico)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ ./public/index.php/$1 [L,QSA]

浏览器尝试加载文件 http://localhost/[project_name]/assets/css/app.css 但加载失败。

我做错了什么?

【问题讨论】:

  • 您的实际项目名称是什么?它绝对不是 [project_name],因为它只是一个占位符,您需要更改它以适合您正在使用的项目名称。
  • 当然它实际上不是 [project_name]。我只是把它作为一个占位符放在这里,在我的配置中使用了真实姓名。
  • 我高度怀疑您的 htaccess 文件有问题。我想知道 CSS 请求是否在不应该发送到 Codeigniter 时。您可以将 htaccess 文件的内容粘贴到问题中吗?
  • 您尝试过什么解决问题的方法?你被困在哪里了?文件是否存储在预期位置?

标签: php codeigniter-4


【解决方案1】:

我的英语很差,但我会尽力提供帮助。 这样做:

<link href="<?= site_url('/assets/css/app.css') ?>" rel="stylesheet">

进入 /app/Config/Constants.php 后,将此代码粘贴到文件末尾

$myappBaseUrl = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http");
$myappBaseUrl .= "://".$_SERVER['HTTP_HOST'];
$myappBaseUrl .= str_replace(basename($_SERVER['SCRIPT_NAME']),"",$_SERVER['SCRIPT_NAME']);
        
defined('BASESEURL') || define('BASESEURL',$myappBaseUrl);

最后注释你的 .env 的 app.baseURL 行,在行首添加 # 并定义 app/Config/App.php 的 de 变量 $baseURL,如下所示:

public $baseURL = BASESEURL;

【讨论】:

    【解决方案2】:

    我用 localhost (xammp) 解决了我的问题;

    1. 将您的 css 重新定位到根项目文件夹
    2. 然后使用; &lt;?= base_url('../filename.css');?&gt;

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-11-06
      • 2011-10-09
      • 1970-01-01
      • 2020-02-11
      • 2015-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多