【发布时间】:2020-12-09 13:28:06
【问题描述】:
我们为一个虚拟主机获得了一堆域。
包括任何子域在内的所有域都需要基本身份验证,除非我们将它们定义为“实时”。将域定义为“实时”时,所有子域也是live。
SetEnvIfNoCase Host ^(.*\.)?domain1\.tld$ live
SetEnvIfNoCase Host ^(.*\.)?domain2\.tld$ live
<RequireAny>
Require valid-user
Require env live
</RequireAny>
现在我想排除 dev.domain1.tld ,以便再次需要基本身份验证。
我需要如何更改 RegEx 以排除 dev.domain1.tld ?
【问题讨论】:
-
SetEnvIfNoCase Host ^((?!dev\.).*\.)?domain1\.tld$应该可以解决问题 -
是的,效果很好!如果我想排除另一个子域怎么办?那会是
^((?!dev\.|!test\.).*\.)?domain1\.tld$吗?另外,请发表您的评论作为答案,以便我接受。非常感谢,你拯救了我的一天!
标签: regex apache .htaccess environment-variables