【问题标题】:How to hide a specific file in Code igniter / PHP?如何在 Codeigniter / PHP 中隐藏特定文件?
【发布时间】:2013-01-25 00:52:29
【问题描述】:

我有一个 web 项目,我为我的项目创建了一个外部照片库。照片库位于 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)文件。请帮助。谢谢

【问题讨论】:

    标签: php apache .htaccess codeigniter


    【解决方案1】:

    使用“FilesMatch”标签解决问题。

    在你的 RewriteCond 和 RewriteRule 之后添加这个:

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

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

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

    【讨论】:

    • 嗨@Bilal Khalid,如果这有帮助,请告诉我。
    【解决方案2】:

    我不是 .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 文件的正则表达式

    【讨论】:

    • @swatkins.Thanks 但它没有用。它甚至没有显示我的目录内容。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-18
    • 2011-12-25
    • 2013-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多