She*_*ght 24 apache authentication .htaccess
我有一个受htaccess保护的目录.这是我现在使用的代码:
AuthName "Test Area"
Require valid-user
AuthUserFile "/***/.htpasswd"
AuthType basic
Run Code Online (Sandbox Code Playgroud)
这工作正常.不过,我现在有这个文件夹,我想允许任何人访问内部的目录,但我不知道该怎么做.
我知道可以将文件移动到受保护目录之外,但是为了简单说明文件夹需要保留在受保护文件夹中,但所有人都可以访问.
如何限制对文件夹的访问,但允许访问子文件夹?
Sud*_*oti 16
根据这篇文章,您可以通过使用来完成此任务SetEnvIf.您匹配要访问的每个文件夹和文件,并为它们定义环境变量"允许".然后添加一个允许访问的条件(如果存在此环境变量).
您需要将以下指令添加到.htaccess中.
SetEnvIf Request_URI "(path/to/directory/)$" allow
SetEnvIf Request_URI "(path/to/file\.php)$" allow
Order allow,deny
Allow from env=allow
Satisfy any
Run Code Online (Sandbox Code Playgroud)
对于新的Apache版本,接受的答案似乎并不顺利,因为一旦我的某些客户服务器上推出Apache更新,它就会停止工作.
我推荐以下方法:
AuthType Basic
AuthName "NO PUBLIC ACCESS"
AuthUserFile /xxx/.htpasswd
SetEnvIf REQUEST_URI "(path/to/directory/)$" ALLOW
<RequireAny>
Require env ALLOW
Require valid-user
</RequireAny>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
34290 次 |
| 最近记录: |