特定子域上的.htpasswd

Seb*_*ien 10 subdomain .htaccess .htpasswd

我有一个特定于语言的子域,它指向与我的站点相同的目录.我使用PHP来检测它并显示语言.

我希望只在这个子域上设置一个htpasswd.请记住,没有特定于此子域的物理目录.因此,该语句将与我站点的根目录在同一个htaccess中.

我需要htaccess才能这样做:

if request is mysubdomain.domain.com
AuthUserFile /www/.htpasswd
AuthName "Locked"
AuthType Basic
Run Code Online (Sandbox Code Playgroud)

谢谢

vst*_*stm 19

这应该工作:

AuthUserFile /www/.htpasswd
AuthName "Locked"
AuthType Basic
Require valid-user

SetEnvIf Host yourdomain.com secure_content

Order Allow,Deny
Allow from all
Deny from env=secure_content

Satisfy Any
Run Code Online (Sandbox Code Playgroud)

我与@Anders Lindahl在同一条路线上,但显然SetEnvIf中没有"不",所以我确实将其改为允许所有人并拒绝使用env-var设置的那些.

他的解决方案也有效,但你必须SetEnv no-auth-required 1首先然后让!no-auth-required取消它(这就是它的!作用)


And*_*ahl 2

这尚未经过测试,但可能有效或为您提供有关在 Apache 文档中查找内容的提示:

SetEnvIf Host ^mysubdomain.domain.com !no-auth-required

AuthUserFile /www/.htpasswd
AuthName "Locked"
AuthType Basic
Require valid-user
Allow env no-auth-required
Satisfy Any
Run Code Online (Sandbox Code Playgroud)