403使用带有CodeIgniter的WideImage时出错

时间:2011-07-15 10:30:17

标签: php codeigniter file-permissions filepath http-status-code-403

我的应用程序成功使用WideImage裁剪&调整图像大小。我使用以下内容在图像上调用它:

<img src="<?=asset_url()?>scripts/thumb.php?src=<?=$post['picture']?>" />

其中asset_url()是一个返回my assets文件夹路径的函数。文件夹结构是:

| assets
| application
| system

这很好用,但我的assets文件夹应该只包含图像,JS文件和CSS。

如果我尝试将thumb.php文件移动到application目录中的任何文件夹,我会收到 403错误

这是CodeIgniter的一项功能,是否可以停止直接访问文件?如果是这样,我该如何解决它?

我正在使用默认的.htaccess文件,如下所示:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^system.*
RewriteRule ^(.*)$ /index.php/$1 [L]  
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|images|robots\.txt|css)
RewriteRule ^(.*)$ index.php/$1 [L]
</IfModule>

<IfModule !mod_rewrite.c>  
ErrorDocument 404 /index.php
</IfModule>

谢谢!

1 个答案:

答案 0 :(得分:2)

我认为这是任何框架的正确行为。它只是不会让你自由地让你的应用程序完全不被任何其他开发人员理解。

例如,如果我开发X-framework并且不希望在app文件夹中使用blah.php - 那么好的框架将帮助我(不是作者:))。因此,在结果中我们将获得高质量的代码。

但是在你的具体问题中,我认为你应该创建一些控制器/动作 - 而不是直接调用blah.php