gpt4 book ai didi

apache - .htaccess 虚拟主机的基本身份验证?

转载 作者:行者123 更新时间:2023-12-04 01:22:31 25 4
gpt4 key购买 nike

我想知道是否可以根据 .htaccess 文件中的虚拟主机 URL 设置有条件的 http 基本身份验证要求。

例如,我想做的是让 mysite.com 和 test.mysite.com 在同一目录中运行相同的代码库,但密码保护 test.mysite.com。它将以这种方式设置,这样我就不需要分支我的代码,因为我的应用程序代码可以看到它从哪个 vhost/url 提供服务并选择数据库来提供内容。

最佳答案

你可以通过使用 mod_setenvif 来解决这个问题。连同 mod_auth模块。使用 SetEnvIfNoCase指令设置哪个主机受密码保护。您需要一些额外的指令来满足访问权限:

# Check for the hostname here
SetEnvIfNoCase HOST ^test\.mysite\.com\.?(:80)?$ PROTECTED_HOST

然后在 Directory里面阻止(或只是公开)您已经设置了身份验证内容,如下所示:
AuthUserFile /var/www/test.mysite.com/htpasswd
AuthType Basic
AuthName "Password Protected"

现在需要/满足的东西:
Order Deny,Allow
Satisfy any
Deny from all
Require valid-user
Allow from env=!PROTECTED_HOST

这将使任何不匹配的主机 ^test\.mysite\.com\.?(:80)?$无需身份验证( Allow from env=!PROTECTED_HOST )即可访问,否则,我们需要有效用户( Require valid-user )。 Satisfy any确保我们只需要 2 个中的一个,即 Allow 或 Require。

关于apache - .htaccess 虚拟主机的基本身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7334307/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com