5

当我尝试加载 css 或 javascript 文件时,它会返回 404 错误。

我尝试使用 HTML helper 的 link_tag、URL helper 的 base_url 方法等帮助程序,它会创建到文件的路由,但不能加载。

这是我的控制器:

class Pages extends Controller{

    public function viewPage($page)
    {
        if(!is_file(APPPATH."/views/pages/$page.php")){
            throw new \CodeIgniter\Exceptions\PageNotFoundException($page);
        }

        helper('html');

        $data['title'] = $page == 'noticeboard' ? "page1" : "page2";

        if($page != "index"){
            echo view('templates/header', $data);
        }

        echo view("pages/$page", $data);

        if($page != "index"){
            echo view("templates/footer", $data);
        }
    }

}

我的路由器:

$routes->get("/", "Pages::viewPage/index");

HTML 中的标题:

<?=link_tag('public/css/style.css')?>

assets 文件夹位于 htdocs 的根目录中(我使用的是 xampp apache 服务器)。

当我尝试加载 CSS 或 JS 时,我收到此错误:

错误信息

我对 CodeIgniter 完全陌生,因此我们将不胜感激。

  • 目录结构:
文档
  -上市
    --CSS
     ---style.css
    --JS
     ---app.js
  -应用程序
    --控制器
      ---页面.php
    --views
      ---页面
        ----index.php

* 我已将我的 CSS、JS 文件路由从资产更改为公共 *

4

5 回答 5

9

由于 app 是公用文件夹的同级文件夹,

根据 codeIgniter 4 。

您放入公用文件夹的任何内容都可以直接访问。

所以应该像下面这样将css应用于视图。

在视图文件夹中,可以说有一个文件为 index.php

那么代码应该如下所示:

索引.php

    <link rel="shortcut icon" type="image/png" href="/css/style.css"/>
于 2019-10-15T11:49:41.380 回答
3

尝试这个

$config['base_url'] = "http://ur_site_url.com/";

比在你看来

<?php echo base_url('assets/css/style.css'); ?>
于 2019-10-15T09:59:33.210 回答
1

转到 config/App.php 并更改此变量

public $baseURL = 'http://yoursite';

然后你可以访问它

<?php echo base_url();?>
于 2021-06-19T06:01:15.130 回答
1

您还可以使用 html 帮助程序并根据您的设置添加带有 link_tag 的样式表,如果您在 url 中隐藏公共文件夹,则必须将 public 添加到 url。

<?php echo link_tag('public/css/style.css'); ?>
于 2021-11-01T19:27:12.630 回答
0

您是否在application/config/config.php文件中添加了base_url?这里: http: //prntscr.com/pji8a5

您提供的站点 URL 未定义。

你给了http://localhost:8080/css.....

但它应该http://localhost:8080/SITE_URL/css.....

如果你添加$config['base_url'] = "http://site_url.com/";那么你可以直接给base_url('assets/css/style.css');

<link rel="stylesheet" href="<?php echo base_url('assets/css/style.css'); ?>">
<script src="<?php echo base_url('assets/js/js.css'); ?>"></script>

谢谢

于 2019-10-15T10:45:43.993 回答