Skip to main content

This code is useful for multi-environment setups (staging, production, etc.) It allows you to keep your .htaccess files in sync while maintaining an .htpasswd on your development environment or anything but the live environment.

# allows a single uri through the .htaccess password protection
SetEnvIf Request_URI "/testing_uri$" test_uri

# allows everything if its on a certain host
SetEnvIf HOST "^testing.yoursite.com" testing_url
SetEnvIf HOST "^yoursite.com" live_url
Order Deny,Allow

AuthName "Restricted Area"
AuthType Basic
AuthUserFile /path/to/your/.htpasswd
AuthGroupFile /
Require valid-user

# Allow valid-user
Deny from all
Allow from env=test_uri
Allow from env=testing_url
Allow from env=live_url
Satisfy any