0

我有以下结构,

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

如您所见,里面有一个png文件 application/admin/views/newsletter/

当我使用这个 img src

应用程序/admin/views/newsletter/screenshot.png" />

我将图像视为断开的链接

但是当我将图像的地址粘贴到浏览器的地址栏中时,它会说

"Permission Denied"

如何在不更改文件结构的情况下使图像可见..

4

1 回答 1

1

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

但是,最好将所有公共文件放在application文件夹之外。您可以创建一个类似文件public或在文件assets旁边的index.php文件夹,并将所有公共文件放入其中。

如果您使用重写规则/index.php/从 URL 中删除,如果您不希望它们被处理,请考虑添加一个条件(如下例所示)RewriteRule

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

然后src会是这样的:base_url().'public/newsletter/screenshot.png'.

于 2013-08-25T09:27:58.257 回答