2013-05-22 55 views
0

在我的CodeIgniter项目中,我试图做一些非常简单的事情。我将样式表编码到我的视图中。当样式表位于应用程序文件夹下名为资产的不同文件夹中时,问题就出现了。当我尝试编码是这样的:CodeIgniter目录问题

<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文件,我得到一个消息,如:

您没有权限访问/项目名/应用/资产/ ...在此服务器上。

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

+0

:HTTP://localhost/ProjectName/application/assets/stylesheet.css,你能看到你的CSS文件?尝试点击浏览器页面源代码中的css文件,查看它在浏览器中的确切位置。 – akshayb

+0

我刚刚给我的问题添加了一些问题,我想回答你的问题,@akshayb – user2301187

回答

0

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

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

如果纯HTML,视图呈现如何来使@import有所作为?只是好奇心? – akshayb

+0

没有太大的区别,你可以搜索导入和链接在CSS中有什么区别。导入并不好,但它对我有用,我也尝试过使用它...... –

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 
1

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

默认.htaccess应用程序目录将Deny from all。你可以改变它来允许访问,你应该可以像你当前尝试一样访问你的CSS,但我不会推荐它。你应该让你的资产在应用程序的根,与此类似:

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

然后链接到CSS,像这样:

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

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

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

然后在乌拉圭回合的CSS线做指定的路径在这