【问题标题】:Linking to Css file in CodeIgniter在 CodeIgniter 中链接到 Css 文件
【发布时间】:2013-07-30 09:29:26
【问题描述】:

所以今天我开始使用 code-igniter,但遇到了一个问题。 问题是我想将一个 css 文件链接到我的默认视图。我的尝试是将我的 css 文件放在 root 的根目录中。所以它看起来像这样

-Root
--application
--system
--styles
----main.css
--index.php

然后在我看来,我通过假装它在同一个文件夹中来链接我的 css 文件,如下所示:

<link href="styles/main.css" rel="stylesheet" type="text/css">

现在当我像这样访问我的默认控制器时:http://localhost/index.php 它可以工作!! 但是当我像这样http://localhost/index.php/home/index 访问它时,它不起作用。它尝试使用此路径http://localhost/index.php/styles/main.css访问css文件

我该如何解决这个问题,或者,正确的方法是什么?

【问题讨论】:

标签: codeigniter url-rewriting


【解决方案1】:

试试这个

<link href="<?php echo base_url() ?>styles/main.css" rel="stylesheet" type="text/css">

如果您使用低于 2.0 的 codeigniter 版本,则必须在 config.php 中指定 base_url

...

或者你可以指定基础标签

<base href="<?php echo base_url()?>">

你所有的相对路径都会以base_url为前缀

它仅在当前视图中有效(我更喜欢将其添加到模板视图中)

...

或查看this

【讨论】:

  • 我是否每次都必须这样做,比如说我也有一个文件夹图像。现在每当我使用&lt;img /&gt; 标签链接图像时。每次我调用 base_url() 时,它看起来真的很糟糕。没有其他选择,例如添加路线吗?或类似的东西?
【解决方案2】:

用户 base_url() 而不是 site_url()

【讨论】:

    【解决方案3】:

    试试这个

    <link rel="stylesheet" type="text/css" href="<?php echo base_url('styles/main.css')?>" />
    

    在你的 config.php 文件中定义你的 base_url()

    【讨论】:

      【解决方案4】:

      正如 Maarty 回答的那样,您应该使用:

      &lt;link href="&lt;?php echo base_url() ?&gt;styles/main.css" rel="stylesheet" type="text/css"&gt;

      关于您是否每次都必须这样做的第二个问题,请查看Comper Template Parser,它非常好并且非常容易设置。它从您的数据变量中创建伪变量——我所做的是在 Parser 文件中添加样式、javascript 和其他任何变量,例如:

      array('styles' => base_url() . '/stylesheets/',
            'scripts' => base_url() . '/javascripts/',
            'something' => base_url() . '/something-awesome/');
      

      是否允许您将其放入模板文件中:

      <link href="{styles}/main.css" rel="stylesheet" type="text/css">
      <link href="{styles}/other.css" rel="stylesheet" type="text/css">
      
      <script src="{scripts}/jquery.js"></script>
      <script src="{scripts}/amazing.js"></script>
      
      <img src="{something}/something.jpg"/>
      

      帮自己一个忙并结帐Comper Template Parser——这是一种真正的享受。

      【讨论】:

        【解决方案5】:

        我希望你已经保留了你的 $config['base_url']= 'http://www.yourproject.com/';

        在 application/config/config.php 行号 17

        因此,您需要在视图文件中使用“base_url”。比如对于css ::::

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

        它将在您的项目中工作。谢谢

        【讨论】:

          猜你喜欢
          • 2014-09-06
          • 1970-01-01
          • 2011-01-13
          • 1970-01-01
          • 1970-01-01
          • 2020-04-10
          • 2022-08-18
          • 2015-02-26
          • 1970-01-01
          相关资源
          最近更新 更多