我正在使用codeigniter构建一个包含大量图片库的网站,我将图片存储在文件夹中,但我想通过网址限制访问文件夹。我不希望别人有权访问我的图片文件夹使用像这样的网址::
所有图片都是包含图片文件夹的文件夹..我尝试使用htaccess
文件
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_URI} ^CI_system.*
RewriteRule ^(.*)$ /website/index.php?/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond $1 !^(index\.php|all_images)
RewriteRule ^(.*)$ /website/index.php?/$1 [L]
</IfModule>
<IfModule !mod_rewrite.c>
ErrorDocument 404 /index.php
</IfModule>
index.php的重写条件运行良好,但我仍然可以通过网址访问我的所有文件夹
答案 0 :(得分:3)
如果要禁用要查看的文件夹,只需添加空的index.html文件,但如果您尝试保护图像不被查看,那么您的网站也无法找到它们
答案 1 :(得分:1)
为什么不在该文件夹下创建索引文件。通过这种方式,将无法查看该文件夹下的图像。
您可以将此文件调用为“拒绝访问”或任何您需要的功能。
答案 2 :(得分:0)
选项 - htaccess文件中的索引将停止查看目录,无需额外的文件。如果你想停止直接观看图片,即myweb.com/all_images/coolpic.jpg那么你所要做的就是(因为你的基础是/你可以使用下面的整个):
Options -Indexes
ErrorDocument 404 /index.php
DirectoryIndex index.php
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA]
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?myweb.com/.*$ [NC]
RewriteRule \.(gif|jpg)$ - [F]
</IfModule>
您需要更改的是包含您网址的行,并将所有文件类型添加到上一个重写规则(用管道分隔每个|),然后这将涵盖您讨论的所有角度100%。