【问题标题】:.htpasswd on specific subdomain.htpasswd 在特定子域上
【发布时间】:2011-10-20 16:07:55
【问题描述】:

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

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

我需要 htaccess 来做到这一点:

if request is mysubdomain.domain.com
AuthUserFile /www/.htpasswd
AuthName "Locked"
AuthType Basic

谢谢

【问题讨论】:

    标签: .htaccess subdomain .htpasswd


    【解决方案1】:

    这应该可行:

    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
    

    我和@Anders Lindahl 在同一条路线上,但显然在 SetEnvIf 中没有“不”,所以我不得不将它更改为允许所有并拒绝设置了 env-var 的那些。

    他的解决方案也有效,但您必须先 SetEnv no-auth-required 1 然后让 !no-auth-required 取消设置它(这就是 ! 所做的)

    【讨论】:

    • 像魅力一样工作!非常感谢!应该得到作者的确认:)
    【解决方案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
    

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 2011-04-14
      • 1970-01-01
      • 2015-09-22
      • 2018-03-08
      • 1970-01-01
      • 2014-04-27
      • 2013-10-26
      • 1970-01-01
      相关资源
      最近更新 更多