Ben*_*ess 3 apache .htaccess basic-authentication
我的文件中有以下配置.htaccess,它在 Apache 2.2 中工作,但在 2.4 中不起作用:
SetEnvIf Request_URI ^/admin require_auth=true
AuthUserFile /var/www/site.htpasswd
AuthName "Admin Access"
AuthType Basic
Require all denied
Satisfy any
Require valid-user
Allow from env=!require_auth
Run Code Online (Sandbox Code Playgroud)
我如何将其转换为在 Apache 2.4 中工作?基本上,如果 URI 以 开头/admin,则应要求他们提供密码。
只需将此.htaccess文件放入您要保护的文件夹中即可:
AuthUserFile /var/www/site/.htpasswd
AuthName "Admin Access"
AuthType Basic
require valid-user
Run Code Online (Sandbox Code Playgroud)
来自https://httpd.apache.org/docs/2.4/howto/auth.html
例如,如果您希望保护目录 /usr/local/apache/htdocs/secret,您可以使用以下指令,要么放置在文件 /usr/local/apache/htdocs/secret/.htaccess 中,要么放置在httpd.conf 位于 <Directory "/usr/local/apache/htdocs/secret"> 部分内。
但使用新If指令,我们也可以从根目录执行此操作:
<If "'%{REQUEST_URI}' =~ m#/?admin(/.*)?#">
AuthUserFile /var/www/site/.htpasswd
AuthName "Admin Access"
AuthType Basic
require valid-user
</If>
Run Code Online (Sandbox Code Playgroud)
我在带有 Apache 2.4.27 的 Ubuntu 16.04.03 LTS 服务器上测试了这一点。
| 归档时间: |
|
| 查看次数: |
11715 次 |
| 最近记录: |