大家好,
我在 Codeigneter 中玩耍并尝试制作某种相册只是为了好玩(在我真正开始之前更好地了解 codeigneter)。
现在我在这里建立了一个测试网站:http: //foal.scriptsenprogs.nl/
现在的问题是用户将来可以上传图像。我希望该图像是某种保存...
因此,如果有人使用此链接: http: //foal.scriptsenprogs.nl/media/img/albums/1.png
它应该被阻止(就像现在一样)。
我在/media/img/albums
文件夹中的 .htacces 文件中有这行代码
<Directory "http://foal.scriptsenprogs.nl/media/img/albums" >
Options Includes
AllowOverride All
Order allow,deny
Deny from All
</Directory>
我必须承认我对 .htaccess 文件知之甚少,但这似乎有效(直接 url 被阻止)。
在我的 codeIgneter 代码中,我使用它向网页添加图像:
$str .= '<div style="margin-top:20px;"><img width="200px" src="./media/img/albums/' . $imageStuff[$row['album_id']] -> img_id . '.' . $imageStuff[$row['album_id']] -> img_type . '" /></div>';
在 .htaccess 文件之前,它起作用了。但现在它不起作用。
如果我检查 chromes 错误控制台,我会看到此错误:
GET http://foal.scriptsenprogs.nl/media/img/albums/1.png 404 (Not Found) foal.scriptsenprogs.nl:48
所以404 Not Found
这是一个错误。但是,如果您检查 URL,您会发现它被赋予了绝对 URL?但是我插入了一个相对 URL 对吗?
你们对如何解决这个问题有什么想法吗?
编辑 1 在子域的 de webroot 中,我有以下 .htaccess 文件:
RewriteEngine on
RewriteCond $1 !^(index\.php|images|css|school|media|robots\.txt)
RewriteRule ^(.*)$ /index.php/$1 [L]
编辑2 为了澄清这个问题更多......
如果您在网站 ( http://foal.scriptsenprogs.nl/ ) 上,则必须使用相对路径来显示图像。(像这样<img width="200px" src="./media/img/albums/1.png" />
:)
但是,如果您尝试通过绝对路径访问图像,则必须阻止它(链接将是这样的:http: //foal.scriptsenprogs.nl/media/img/albums/1.png)