禁止访问查看位于Codeigniter视图foldr中的图像文件

时间:2013-08-25 09:13:43

标签: image codeigniter

我有以下结构,

root folder
--- application
    --admin
        --controllers
        --models
        --views
           --newsletter
             --images
             --screenshot.png
             --index.php
--- system
---
---
---

你可以看到application/admin/views/newsletter/

里面有一个png文件

当我使用这个img src时

application / admin / views / newsletter / screenshot.png“/>

我将图片视为断开的链接

但是当我在浏览器的addess栏中粘贴图片的地址时,它会显示

"Permission Denied"

如何在不改变文件结构的情况下看到图像..

1 个答案:

答案 0 :(得分:1)

这是因为application文件中的Deny from all规则阻止了对application/.htaccess文件夹的任何直接访问(默认情况下)。如果你删除它,它会工作。

但是,最好将所有公共文件放在application文件夹之外。您可以在public文件旁创建assetsindex.php等文件夹,并将所有公共文件放在其中。

如果您使用重写规则从网址中删除/index.php/,请考虑添加条件(如下例所示),如果您不希望RewriteRule对其进行处理:

RewriteCond $1 !^(index\.php|robots\.txt|favicon\.ico|public)
                           # Add your files/folders --^

然后src就像:base_url().'public/newsletter/screenshot.png'