如何使用 envif 为某些子域而不是其他子域设置基本身份验证
How to set up basic authentication for some subdomains but not others using envif
感谢 stack overflow 的一些很棒的人,我使用这个脚本在 dev.website.com 进行身份验证以要求输入密码:
SetEnvIfNoCase Host ^.*dev\.website\.com$ require_auth=true
AuthUserFile /var/www/vhosts/website.com/.htpasswd
AuthName "Password Protected"
AuthType Basic
Order Deny,Allow
Deny from all
Satisfy any
Require valid-user
Allow from env=!require_auth
我还希望它要求输入密码:myname.website.com mynamedev.website.com & devmyname.website.com。基本上除了 "www.website.com" 和 "website.com".
最简单的方法是什么?
我原以为您可以执行以下操作
SetEnv require_auth=true
SetEnvIfNoCase Host ^www\.website\.com$ require_auth=false
SetEnvIfNoCase Host ^website\.com$ require_auth=false
AuthUserFile /var/www/vhosts/website.com/.htpasswd
AuthName "Password Protected"
AuthType Basic
Order Deny,Allow
Deny from all
Satisfy any
Require valid-user
Allow from env=!require_auth
第一行将默认情况设置为需要身份验证,后两行是不需要身份验证的特定情况。
尝试:
#set env "auth" only for subdomains
SetEnvIfNoCase host ^((?!www\.).+)\.website\.com$ auth=1
#auth
AuthUserFile /var/www/vhosts/website.com/.htpasswd
AuthName "Password Protected"
AuthType Basic
#Here is where we allow/deny
Order Deny,Allow
Satisfy any
Deny from all
Require user valid-user
Allow from env=!auth
感谢 stack overflow 的一些很棒的人,我使用这个脚本在 dev.website.com 进行身份验证以要求输入密码:
SetEnvIfNoCase Host ^.*dev\.website\.com$ require_auth=true
AuthUserFile /var/www/vhosts/website.com/.htpasswd
AuthName "Password Protected"
AuthType Basic
Order Deny,Allow
Deny from all
Satisfy any
Require valid-user
Allow from env=!require_auth
我还希望它要求输入密码:myname.website.com mynamedev.website.com & devmyname.website.com。基本上除了 "www.website.com" 和 "website.com".
最简单的方法是什么?
我原以为您可以执行以下操作
SetEnv require_auth=true
SetEnvIfNoCase Host ^www\.website\.com$ require_auth=false
SetEnvIfNoCase Host ^website\.com$ require_auth=false
AuthUserFile /var/www/vhosts/website.com/.htpasswd
AuthName "Password Protected"
AuthType Basic
Order Deny,Allow
Deny from all
Satisfy any
Require valid-user
Allow from env=!require_auth
第一行将默认情况设置为需要身份验证,后两行是不需要身份验证的特定情况。
尝试:
#set env "auth" only for subdomains
SetEnvIfNoCase host ^((?!www\.).+)\.website\.com$ auth=1
#auth
AuthUserFile /var/www/vhosts/website.com/.htpasswd
AuthName "Password Protected"
AuthType Basic
#Here is where we allow/deny
Order Deny,Allow
Satisfy any
Deny from all
Require user valid-user
Allow from env=!auth