【发布时间】:2015-09-22 18:29:53
【问题描述】:
我花了几天时间研究如何根据我的子域管理不同的 AuthUserFile 路径。
为什么会出现这个问题: 我的站点的管理员访问受 htaccess - htpasswd 保护。我现在正在使用 bitbucket 管理存储库并正在配置自动部署。由于这个部署系统,我需要为每个站点实例使用相同的文件:假设我有:
local.mysite.com
staging.mysite.com
www.mysite.com
现在的问题是每个“站点”的 AuthUserFile 绝对路径都不同,所以我需要根据子域来定义它。
我尝试做的事情: 我正在考虑使用这样的 If 语句:
<If "Host == 'local.mysite.com'">
AuthUserFile
</If>
但我运行的是 apache 2.2,所以不可用。
然后我考虑使用类似的东西:
SetEnvIf HOST ^local\.mysite\.com$ ENV_LOCAL
<IfDefine ENV_LOCAL>
AuthType Basic
AuthName "Password required"
AuthUserFile /my/local/path/.htpasswd
Require valid-user
</IfDefine>
但显然,IfDefine 无法读取 SetEnvIf 变量。
现在我被屏蔽了,在互联网上找不到任何可以帮助我的东西。 如果我不必更改 apache 配置,我会更好..
有什么想法吗?
【问题讨论】:
标签: apache .htaccess subdomain .htpasswd