apache - 密码通过 htaccess 保护多个目录

标签 apache .htaccess .htpasswd

我可以通过站点根目录下的 htaccess 文件对目录进行密码保护(由于我的 CMS,我必须在站点根目录中使用一个 htaccess 文件)。我遇到的问题是将用户分配给我要保护的每个目录。我可以创建多个用户和密码保护多个目录,但任何用户都可以为任何 protected 目录工作。例如:

example.com/section-one 应该是私有(private)的并由用户“one”访问。

example.com/section-two 应该是私有(private)的并由用户“two”访问。

但是,任何用户都可以在任一部分工作,并且一旦用户登录到一个部分,他们就可以访问其他部分而无需输入密码。我知道这是我的 htaccess 文件的问题。我尝试使用但似乎无法弄清楚格式。所有在线信息都显示了如何对文件执行此操作,但目录并不那么容易找到帮助。

我正在使用这个:

<IfModule mod_authn_file.c>
SetEnvIf Request_URI "^/section-one.*$" private
AuthName "Password Needed"
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /www/server/.htpasswd
Require user one
Order Deny,Allow
Deny from env=private
Satisfy any
</IfModule>

<IfModule mod_authn_file.c>
SetEnvIf Request_URI "^/section-two.*$" private
AuthName "Password Needed"
AuthGroupFile /dev/null
AuthType Basic
AuthUserFile /www/server/.htpasswd
Require User two
Order Deny,Allow
Deny from env=private
Satisfy any
</IfModule>

最佳答案

.htaccess 文件用于将特定的配置指令应用于它们所在的目录。不能使用一个 .htaccess 文件为不同的目录指定不同的配置。您要么需要将访问控制放在 server/vhost 配置文件中,要么每个目录使用一个 .htaccess。

关于apache - 密码通过 htaccess 保护多个目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13204442/

相关文章:

php - URL 重写和构造指南

php - Laravel Forge 将非 www 重定向到 www

.htaccess 使用 SSL 将辅助域重定向到主域

php - .htaccess 使用 .htpasswd 和 wordpress 请求正确登录两次

ruby-on-rails - Capistrano 部署 Rails 应用程序 - 如何处理长时间迁移?

java - Web应用程序java从文件加载资源

.htpasswd - 对于相同的密码,htpasswd 的哈希值每天都不同。

php - 如何在 .htpasswd 文件中设置密码

regex - .htaccess RewriteRule 在 url 中带有斜线

php - HTACCESS 重写不适用于非 WP 目录