2011-04-01 102 views
1

上午使用codeigniter来建立一个网站,有很多图片库,我将图片存储在文件夹中,但我想限制通过URL访问文件夹.ie我不'不想人在使用这样的网址::我如何限制访问我的文件夹

http://website/all_images/

所有图像是包含图像文件夹中的文件夹来访问我的图像文件夹..我试图用一个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 w的重写条件orks很好,但我仍然可以通过url访问我所有的文件夹

回答

1

为什么不在该文件夹下创建索引文件。通过这种方式,没有人会在该文件夹下查看图像。

你可以使这个文件调用一个函数,说“拒绝访问”或任何你需要的。

+0

@BrandonS和@luci tnks很多 – 2011-04-13 15:23:21

3

如果您希望禁用要查看的文件夹,只需添加空的index.html文件,但如果你试图保护图像被视为那么你的网站将无法找到他们太

0

选项-Indexes在你的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%。