Skip to content

Instantly share code, notes, and snippets.

@siffring
Created March 4, 2012 17:33
Show Gist options
  • Star 40 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save siffring/1974022 to your computer and use it in GitHub Desktop.
Save siffring/1974022 to your computer and use it in GitHub Desktop.
htaccess to password protect a specific server
# ----------------------------------------------------------------------
# Password protect staging server
# Use one .htaccess file across multiple environments
# (e.g. local, dev, staging, production)
# but only password protect a specific environment.
# ----------------------------------------------------------------------
SetEnvIf Host staging.domain.com passreq
AuthType Basic
AuthName "Password Required"
AuthUserFile /full/path/to/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
@elliotlewis
Copy link

@loekwetzels I think you're missing the vital line in there! This password protects the server, spoofing the domain name won't get around that, you'll still need to know the password.

@Risyandi
Copy link

Hopefully this is help for my staging / development sites.

@jan-vodila
Copy link

@elliotlewis - Unfortunately I think that @loekwetzels is right. If you put to your hosts file a record as he describes, then SetEnvIf Host staging.domain.com returns FALSE, so env variable won't be passreq. Because my host is omgihazaccess (from @loekwetzels example).

@JohnnyWalkerDigital
Copy link

I think @jan-vodila and @loekwetzels are right. Probably not a good solution for anything seriously important

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment