【问题标题】:Path to assets folder on CodeIgniterCodeIgniter 上 assets 文件夹的路径
【发布时间】:2014-02-13 17:04:35
【问题描述】:

我正在将一些东西编码到 CodeIgniter 中,并且我想应用一个 css 模板。我找到了一个我喜欢的并下载它。

将css代码与我合并前的代码合并后,我发现css模板使用的图像没有加载。最初它们应该保留在 html 文件夹的根目录(或 www,或 public_html,你知道我的意思...),但我将它们放在与系统文件夹处于同一级别的 assets 文件夹下。

这样的……

Website Folder
|
|---application\
|-----(CodeIgniter application folders...)
|---assets\
|-----style.css
|-----css\
|-------mini.css
|-----images\
|-----js\
|-----robots.txt
|---system
|-----(CodeIgniter system folder...)
|index.php

我用谷歌搜索了几个小时,我找到了this post(帖子#5)。我尝试了 OP 所说的,但它不起作用。

我可以自动加载 url_helper 添加

$autoload['helper'] = array('url');

到 autoload.php 文件。但是当我添加

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

图像仍然不存在。

原来的html文件有这一行

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

所以,我猜我应该添加资产/这样它看起来

<link href="assets/style.css" type="text/css" rel="stylesheet" />

但仍然缺少图像。

如果我将 assets 文件夹的内容移动到根目录,一切都很好,但当然,这不是一个好习惯 AFAIK...

我的 base_url 是

http://localhost/prog/nonsense/mvc/

在你问之前,是的,我确实阅读了 .htacces 解决方案,但我现在真的不想搞乱 .htaccess 编辑。

如果能提供一点帮助,我们将不胜感激。

【问题讨论】:

    标签: php css codeigniter


    【解决方案1】:

    我和你有一样的东西,我这样称呼他们:

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

    如果设置了 base_url() 并调用了 url 助手,这对我有用。

    我调用base_url(),然后调用assets 文件夹,然后调用style.css。在base_url();?&gt; 之后不需要/,因为无论如何base_url() 中有一个。

    另一个使用 codeigniter 内置 HTML 函数的选项:

    此外,如果您查看 this link,您会发现您可以使用 HTML 帮助程序并通过 codeigniter 的内置函数调用它。

    这一次,你不应该需要base_url();

    做:

    $autoload['helper'] = array('url', 'html');
    

    然后在标题视图中添加:

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

    它会输出到这个:

    <link href="http://localhost/prog/nonsense/mvc/assets/style.css" rel="stylesheet" type="text/css" />
    

    【讨论】:

    • 你答案的第一部分是我正在使用的。我的问题是我有点累了,我正在编写垃圾代码,除此之外,我还没有检测到应该从相对转换为完整的几个路径。那个萤火虫插件真的很有帮助。无论如何,谢谢你的回答:)
    • 好的,不用担心@Ashir!将来也会看看一些codeigniter的内置函数,因为它们可以为你节省很多时间:)
    【解决方案2】:

    我只是在应用程序文件夹的 .htacces 一侧添加一行

    RewriteCond $1 !^(index\.php|images|robots\.txt)
    

    【讨论】:

      【解决方案3】:

      是的!我刚刚在.htacces 文件中添加了以下行,它工作正常

      RewriteCond $1 !^(index\.php|images|robots\.txt)
      

      【讨论】:

        【解决方案4】:

        base_url 也可以用作link_tag:

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

        也可以让你的代码更干净。

        【讨论】:

          【解决方案5】:

          你检查过.htaccess 吗? 它必须具有以下内容:

          RewriteCond $1 !^(index\.php|assets|upload|robots\.txt|.*\.css)
          

          【讨论】:

          • 我没有编辑我的 .htacces 因为我不想编辑它,除非它非常必要......但即使我用该代码替换“全部拒绝”,图像也是不见了……
          • 好的,我看到了以前没有发现的错误。我的路径应该是 'localhost/prog/nonsense/mvc/assets/style.css' 但即便如此......现在有些图片丢失了......
          • 请检查这些图像的完整路径,或者您可以使用 firebug 找到这些完整路径
          • 谢谢@zerokavn。非常漂亮的萤火虫插件。
          猜你喜欢
          • 1970-01-01
          • 2012-04-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-26
          • 1970-01-01
          • 2013-01-02
          • 2011-08-17
          相关资源
          最近更新 更多