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

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

我需要htaccess来做到这一点:

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

谢谢

最佳答案

这应该工作:

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中没有“not”,因此我已经进行了更改以允许所有人允许并拒绝使用env-var设置的人。

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

关于.htaccess - .htpasswd在特定子域上,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6953425/

10-11 15:02