使用在子目录 htaccess 中设置并在根 htaccess 中访问的环境变量

使用在子目录 htaccess 中设置并在根 htaccess 中访问的环境变量

我在目录内的 .htaccess 中设置了一个变量“require_auth”,并在根目录内的另一个 .htaccess 中使用该变量。但是当我访问早期的目录 URL 时,它会引发 401 错误。

因此对于根目录,我在 .htaccess 中有以下代码

SetEnvIf Request_URI ^/membership/ require_auth=true
AuthUserFile /var/www/.htpasswd
AuthName "Password Protected"
AuthType Basic
Allow from env=!require_auth

在根目录“/data”中的目录中,我有另一个包含此代码的 .htaccess

SetEnv require_auth true
AuthType basic
AuthName "Only Admin Allowed"
AuthUserFile /var/www/.htpasswd_wpadmin
AuthGroupFile /dev/null
require valid-user

但是当我访问 URL“/data”时,出现此错误 401

未授权 此服务器无法验证您是否有权访问所请求的文档。您提供的凭证有误(例如密码错误),或者您的浏览器无法提供所需的凭证。

答案1

目前我正在使用此代码进行 Apache 身份验证。

AuthType Basic
AuthName "Name to be displayed
AuthUser File /etc/httpd/.htpasswd
Require user  username

然后在 /etc/httpd/.htpasswd 中添加 .htpasswd 文件

最后,您可以使用以下命令将经过身份验证的用户列表添加到 .htpasswd 文件中

htpasswd -cb /etc/httpd/.htpasswd username

希望能帮助到你..!

相关内容