CodeIgniter目录问题

时间:2013-05-22 05:24:19

标签: php codeigniter path

在我的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属性的每个技巧,并且我已经仔细检查了我的目录,所以我知道我已经做对了。

我的基本网址是http://localhost/ProjectName/ +我启用了网址帮助,所以我知道这不是问题。

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

  

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

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

4 个答案:

答案 0 :(得分:1)

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

应用程序目录中的默认.htaccessDeny from all。你可以改变它以允许访问,你应该能够访问你正在尝试的CSS,但我不推荐它。您应该将资产保留在应用程序的根目录下,类似于:

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

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

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

答案 1 :(得分:0)

试试这样........

    <style type="text/css" media="all">
             @import url("/project_name/application/assets/style.css");
    </style>

答案 2 :(得分: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

答案 3 :(得分:0)

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

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

然后在你的css行中这样做