【问题标题】:Codeigniter access forbidden to image folder at project rootCodeigniter 禁止访问项目根目录的图像文件夹
【发布时间】:2013-10-19 20:24:23
【问题描述】:

我想将我的图像/资产放在与我的应用程序目录相同级别的文件夹中,但每次我尝试链接到图像时,都会收到此错误:

Forbidden

You don't have permission to access (my base url)images/myimage.jpg on this server

这就是我试图在我的视图中访问图像的方式:

<img src="<?php echo base_url(); ?>images/myimage.jpg">

这是我的 routes.php 的问题吗?我还没有真正接触过它,也没有创建 .htaccess 文件。

如果问题是我没有告诉它如何处理 base_url + some_asset_folder,我应该在哪里以及如何配置它?我只知道如何告诉路由使用特定的控制器类和方法,而不是访问特定的目录。

我是 PHP 框架的新手,也是 CodeIgniter 的新手——非常感谢任何帮助!非常感谢。

【问题讨论】:

  • 文件夹权限是什么?

标签: php .htaccess codeigniter permissions routes


【解决方案1】:

保存图片、样式表、javascript、上传文件等文件的最佳方式是与应用程序分开。在包含applicationsystems 的根文件夹中创建一个文件夹assets

所以它将包含文件夹application, assets, system etc.assets 中添加文件夹 -- images, css, js, uploads etc.

您可以使用

访问它

&lt;img src='&lt;?= base_url() ?&gt;assets/images/image.jpg' /&gt;

这可能是最好的方法。这是我一直在为我的应用程序做的事情,所以对我来说这是最好的方法。希望这会有所帮助。

【讨论】:

  • 我已经尝试过了,我的“应用程序”和“系统”文件夹与“图像”文件夹处于同一级别,但是当我尝试访问我的图像时,它给了我“禁止”信息。任何想法可能会发生什么?
  • @anniebabanie 我假设您使用的是本地主机。您使用的是 WAMP 服务器还是其他服务器?如果是这样,您的 Web 应用程序文件夹是否在 www 文件夹中?像www/mywebapp 然后在mywebapp 文件夹中你有codeigniter 文件,application, system, .gitignore, index.php, images etc.
  • 工作就像一个魅力!
【解决方案2】:

如果您在公共 http web 文件夹之外安装了 CI,由于服务器权限,您将无法通过浏览器访问您的图像目录。解决此问题的一种方法是创建一个控制器来获取和提供图像文件。

【讨论】:

    【解决方案3】:

    请检查可能导致问题的 .htaccess 文件。 在 .htaccess 中允许您的文件类型。

    【讨论】:

    • 是的,这是我的 .htaccess 文件。取消了“拒绝所有人”并添加了“选项 FollowSymLinks”。像魅力一样工作!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-29
    • 2016-04-30
    • 1970-01-01
    • 1970-01-01
    • 2023-04-01
    相关资源
    最近更新 更多