【问题标题】:CodeIgniter directory problemsCodeIgniter 目录问题
【发布时间】:2013-05-17 01:11:18
【问题描述】:

在我的 CodeIgniter 项目中,我正在尝试做一些非常简单的事情。我正在将样式表编码到我的视图中。当样式表位于 application 文件夹下名为 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/...。

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

【问题讨论】:

  • 在指定的路径上 :localhost/ProjectName/application/assets/stylesheet.css ,你能看到你的css文件吗?尝试在浏览器中单击页面源中的 css 文件,以查看它在浏览器中的确切位置。
  • 我刚刚在问题中添加了一些东西,我认为它可以回答你的问题,@akshayb

标签: php codeigniter path


【解决方案1】:

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

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

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

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

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

【讨论】:

    【解决方案2】:

    这样试试…………

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

    【讨论】:

    • 如果纯 HTML 会呈现什么视图,@import 怎么会有所不同?只是好奇?
    • 没有太大区别你可以搜索css中import和link有什么区别。导入不好,但它对我有用,虽然我也尝试使用它......
    【解决方案3】:

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

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

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

    service apache2 restart
    

    【讨论】:

      【解决方案4】:

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

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-03-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多