如何在Codeigniter / PHP中隐藏特定文件?

时间:2013-01-24 09:12:00

标签: php apache .htaccess codeigniter

我有一个网络项目,我为我的项目创建了一个外部照片库。照片库位于Web根目录之外,例如我的Codeigniter项目位于C:\ wamp \ www \ myprject \ application \但是我的照片库在C:\ wamp \ www \ myprject \ Lib \

我的.htaccess文件(在我的应用程序文件夹下)使用以下命令成功显示库:

.htaccess 文件

RewriteEngine on  
RewriteCond $1 !^(index\.php|images|Lib|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php?$1 [L]

但问题是这个.htaccess文件还显示我的error_log文件以及库目录中的所有图像。 我需要在这个.htacess文件中进行哪些更改才能隐藏它?我只想显示(.jpg,gif,.bmp,.jpeg)文件。请帮忙。谢谢

2 个答案:

答案 0 :(得分:1)

使用' FilesMatch'做解决方法。标签

在RewriteCond和RewriteRule之后添加:

<FilesMatch "Lib\.(htaccess|htpasswd|ini|log|error_log|error|sh|inc|bak)$">
Order Allow,Deny
Deny from all
</FilesMatch>

注意:请在管道&#39;之间添加您的错误日志文件的扩展名。 | &#39;符号。另外,请删除您不想要的扩展程序。

更多信息:How to hide certain file type using apache .htaccess?

答案 1 :(得分:0)

我不是.htaccess大师,但您应该可以将其更改为:

## NOT TESTED ##
RewriteEngine on  
RewriteCond $1 !^(index\.php|images|Lib\/*\.jpg|Lib\/*\.gif|Lib\/*\.bmp|Lib\/*\.jpeg|css|js|robots\.txt)
RewriteRule ^(.*)$ /index.php?$1 [L]

Lib\/*\.jpgLib目录下任何jpg文件的正则表达式