【问题标题】:CSS doesn't link properly from the header file using base_url helperCSS 没有使用 base_url 帮助程序从头文件正确链接
【发布时间】:2012-10-01 13:14:17
【问题描述】:

我的 header.php 没有正确链接到 default.css。页面加载时未应用 CSS。 如果我查看页面的源并单击 .css 文件的链接 - 403 Forbidden 会显示在 Source View 中。

config.php

$config['base_url'] = 'http://localhost/dev/';

routes.php

$route['default_controller'] = "page/view";
$route['404_override'] = '';

pages 是控制器

视图 是方法

application/view/templates/header.php

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <link href="<?php echo base_url(); ?>application/css/default.css" rel="stylesheet" type="text/css" />
        <title><?php echo $title; ?></title>
    </head>
    <body>

application/css/default.css

* {margin:0;padding:0;}

body {
    background-image: url(../images/bg.gif);
    background-repeat: repeat-x;
    ...
}

应用程序/图像/

-- bg.gif GIF Image 1KB

【问题讨论】:

  • 403 Forbidden -> 检查您的网络服务器的错误日志。它应该告诉你更多幕后发生了什么
  • 使用href="/application/css/default.css"

标签: php codeigniter


【解决方案1】:

将 css 文件放在“assets”目录而不是“application”目录中是一种很好的做法。将文件移动到 DOCUMENT_ROOT 中名为 assets/css 的目录并更改此行:

<link href="<?php echo base_url(); ?>application/css/default.css" rel="stylesheet" type="text/css" />

到:

<link href="<?php echo base_url(); ?>assets/css/default.css" rel="stylesheet" type="text/css" />

【讨论】:

  • 我只是想补充一点,您可以在 base_url 中包含文件,例如 base_url('assets/css/default.css');,这变得更具可读性..
【解决方案2】:

这是 Codeigniter 的默认状态。您需要在您的 css 和图像目录中创建一个 .htaccess 文件并放置此代码(它应该可以工作,我正在使用它):

allow from All

或者您可以在根文件夹中创建一个公用文件夹并且不会出现此问题。

【讨论】:

    【解决方案3】:

    将配置中的base_url留空。像这样:

      $config['base_url'] = '';
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-06
      • 1970-01-01
      • 2017-11-08
      • 1970-01-01
      • 2011-03-03
      • 1970-01-01
      • 1970-01-01
      • 2013-10-21
      相关资源
      最近更新 更多