以下是我的目录树的示例:
private-folder/
├── .htaccess
├── foo
│ ├── secret-codes.json
│ └── secret-ruby.rb
└── bar
├── snafu
│ ├── proxy.php
│ ├── client.php
│ └── testdata.xml
├── config-file.php
├── secret-access.php
├── PUBLIC-ACCESS-FILE.php
└── top-secret.php
除了标有PUBLIC-ACCESS-FILE.php
这是我的htaccess:
Order deny,allow
Deny from all
<Files "/bar/PUBLIC-ACCESS-FILE.php">
Allow from all
</Files>
这不起作用,因为文件仍然显示403.有没有办法可以在一个文件中完成所有操作?设置它的最佳方法是什么?
答案 0 :(得分:1)
您可以将mod_rewrite与两条规则一起使用。第一个允许PUBLIC-ACCESS-FILE.php
,第二个规则隐藏其他所有内容
RewriteRule ^bar/PUBLIC-ACCESS-FILE.php$ - [L]
RewriteRule ^ - [R=404]