Php 使用.htaccess拒绝访问子文件夹和文件
我有以下目录结构Php 使用.htaccess拒绝访问子文件夹和文件,php,apache,.htaccess,Php,Apache,.htaccess,我有以下目录结构 localhost_foler |__test | |__d1/ | |__f1.html | |__d2/ | |__d3/ | |__d4/ | |__.htaccess 我想要实现的是拒绝访问d2、d3和d4中的所有文件,但允许php文件包含它们。同样对于d1,除了文件f1.html之外,其余的需要被阻止 要求:在测试目录中只有一个单
localhost_foler
|__test
|
|__d1/
| |__f1.html
|
|__d2/
|
|__d3/
|
|__d4/
|
|__.htaccess
我想要实现的是拒绝访问d2
、d3
和d4
中的所有文件,但允许php文件包含它们。同样对于d1
,除了文件f1.html
之外,其余的需要被阻止
要求:在测试
目录中只有一个单个.htaccess
文件
我尝试的是:
Options -Indexes
<Files "d1/*">
Deny From All
</Files>
<FilesMatch "^f1\.html">
Allow from all
</FilesMatch>
<Files "d2/*">
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Files>
<Files "d3/*">
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Files>
<Files "d4/*">
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Files>
选项-索引
全盘否定
通融
命令拒绝,允许
全盘否定
允许从127.0.0.1开始
命令拒绝,允许
全盘否定
允许从127.0.0.1开始
命令拒绝,允许
全盘否定
允许从127.0.0.1开始
您可以使用以下重写规则禁止访问文件夹中的文件:
RewriteEngine on
RewriteCond %{THE_REQUEST} !/d1/f1\.html [NC]
RewriteCond %{THE_REQUEST} /(d1|d2|d3|d4)/.+ [NC]
RewriteRule ^ - [R=403,L]
您可以使用以下重写规则禁止访问文件夹中的文件:
RewriteEngine on
RewriteCond %{THE_REQUEST} !/d1/f1\.html [NC]
RewriteCond %{THE_REQUEST} /(d1|d2|d3|d4)/.+ [NC]
RewriteRule ^ - [R=403,L]
谢谢,这很好,但可能你错过了其他部分,我还想禁用除一个文件外的所有d1文件,条件是什么?我以前没有使用过“重写条件”,所以我希望你不介意我问这个问题。@欢迎光临!我已经按照你的要求更新了代码。添加了一个基于前瞻性的正则表达式以从规则中排除该文件。感谢您的响应,但您的条件不起作用。问题是f1在d1中,而不在其他文件夹中。那需要不同的重写条件吗?很抱歉问这么多。谢谢,这很好,但可能你错过了其他部分,我还想禁用d1的所有文件,但一个文件除外,条件是什么?我以前没有使用过“重写条件”,所以我希望你不介意我问这个问题。@欢迎光临!我已经按照你的要求更新了代码。添加了一个基于前瞻性的正则表达式以从规则中排除该文件。感谢您的响应,但您的条件不起作用。问题是f1在d1中,而不在其他文件夹中。那需要不同的重写条件吗?抱歉问了这么多。