0

在我的 CodeIgniter 项目中,我正在尝试做一些非常简单的事情。我正在将样式表编码到我的视图中。当样式表位于名为assets的应用程序文件夹下的另一个文件夹中时,就会出现问题。当我尝试编写如下代码时:

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

甚至:

<link rel="stylesheet" href="http://localhost/ProjectName/application/assets/stylesheet.css">

我没有得到任何结果。我已经尝试了该href属性的所有技巧,并且我仔细检查了我的目录,所以我知道我做对了。

我的基本 url 是http://localhost/ProjectName/+ 我已经启用了URL helper,所以我知道这不是问题。

我唯一能想到的就是 .htaccess 文件。当我查看源代码并尝试在浏览器中查看独立的 css 文件时,我收到如下消息:

您无权访问此服务器上的 /ProjectName/application/assets/...。

这可能是我的问题,你能帮我解决这个问题吗?

4

4 回答 4

1

将 CSS 和类似资源放在 CodeIgniter 的应用程序文件夹中通常被认为是不好的做法。建议将其应用程序系统文件夹保留在 Web 根目录之上。

应用程序目录.htaccess中的默认值为. 您可以将其更改为允许访问,并且您应该能够像当前尝试一样访问您的 CSS,但我不建议这样做。您应该将资产保留在应用程序的根目录中,类似于以下内容:Deny from all

– public_html
    – index.php
    - assets
        - stylesheet.css
...

然后链接到 CSS,如下所示:

<link rel="stylesheet" href="<?php echo base_url(assets/stylesheet.css); ?>">
于 2013-05-22T06:23:17.413 回答
0

如果消息是“您没有权限,请尝试:

<Directory "absolute/path/to/assets/folder/">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride all
        Order Deny,Allow
        Allow from all
</Directory>

您还需要重新启动 apache 服务器。在 ubuntu 上,你可以这样做:

service apache2 restart
于 2013-05-22T06:18:59.287 回答
0

您需要将这些资产放在应用程序文件夹之外。只有这样你才能通过 base_url(); 访问它。

在应用程序文件夹之外创建一个名为 assets 的文件夹,并在其中创建另一个名为 css 的文件夹,然后将所有 css 放在那里。然后将 base_url() 更改为您的路径。例如。http://localhost/项目路径。这将访问您的项目路径。

然后在你的 css 行中执行此操作

于 2013-05-22T06:27:51.617 回答
0

试试这样......

    <style type="text/css" media="all">
             @import url("/project_name/application/assets/style.css");
    </style>
于 2013-05-22T05:28:10.850 回答