.htaccess htaccess保护所有子文件夹&;文件夹
我有这样的情况:.htaccess htaccess保护所有子文件夹&;文件夹,.htaccess,.htaccess,我有这样的情况: /storage index.php other scripts.php /files -files and folders- 我想拒绝对/files的所有文件和子文件夹的所有HTTP请求,但同时允许访问/storage并运行这些PHP脚本。我尝试了一些规则,但它们要么只保护文件列表,要么不允许访问所有/storage文件夹 .htaccess必须位于/files之外(因为这个文件夹是由PHPreadfile访问的,并且.htaccess可以访问)。我
/storage
index.php
other scripts.php
/files
-files and folders-
我想拒绝对/files
的所有文件和子文件夹的所有HTTP请求,但同时允许访问/storage
并运行这些PHP脚本。我尝试了一些规则,但它们要么只保护文件列表,要么不允许访问所有/storage
文件夹
.htaccess
必须位于/files
之外(因为这个文件夹是由PHPreadfile
访问的,并且.htaccess
可以访问)。我认为类似这样的东西,在父目录中(您可能需要使用完整路径)
命令拒绝,允许
全盘否定
一般来说,为了安全起见,我建议您只需将/files目录放在文档根目录之外。这样,如果.htaccess意外关闭或损坏,则不会最终暴露文件
编辑:
很抱歉,
指令仅在服务器配置中有效(您需要将其放入httpd.conf文件或等效文件中),而在.htaccess中无效。如果您确定要放入目录中的文件类型,您可以对各种文件类型使用
指令:但是需要将其放入文件
目录中。(然后可能只是将其从PHP脚本中排除,尽管许多人已经忽略了隐藏文件)。在root.htaccess文件中,即在/storage
目录下放置以下行:
RewriteRule ^files/ - [R=404,L,NC]
这将向
files/
子目录下的所有HTTP请求抛出404
,而您的.php
文件将能够包含files/
子目录下的文件。它不起作用,我仍然可以访问文件,例如/files/image.jpg是可见的。htaccess正在读取吗?在发布之前,我已经在我的Linux、Mac和XAMPP安装上测试了上述规则,它在任何地方都有效。@anubhava我有一个htaccess问题,你能回答我的问题吗?看起来你是regex上最好的。
RewriteRule ^files/ - [R=404,L,NC]