这是我的情况。我正在PHP Fog上设置开发服务器和生产服务器。我在我的本地计算机上有一组文件,我希望能够处理并推送到PHP Fog上的每个服务器上。
我希望使用传统的htpasswd / htaccess方法保护我的开发服务器。这意味着生产服务器需要忽略工作副本中的这两个文件。
有没有办法告诉生产服务器在提交时忽略这两个文件,但是在推送到开发服务器时让它们通过?
答案 0 :(得分:2)
我一直在寻找这个问题并且我使用了这篇文章,它应该解释如何在多个网站上使用单个htaccess而不是担心git。
博文:Single .htaccess
file in your git repo for both your dev and production server“Mark Alan Evans
他如此描述了这个问题:
问题:
您希望拥有
dev.yoursite.com
和www.yoursite.com
,但您不希望公众看到dev.yoursite.com
。解决方案:
如果你使用apache(我们很多人都是),
.htaccess
和.htpasswd
来救援。
在.htaccess
文件中添加:
SetEnvIf Host yourstagingserver.com passreq
AuthType Basic
AuthName “Staging Server”
AuthUserFile /path/to/.htpasswd
Require valid-user
Order allow,deny
Allow from all
Deny from env=passreq
Satisfy any
在dev& amp;上配置密码文件生产
无论您在何处指定
/path/to/.htpasswd
文件,请从控制台导航到该文件夹,然后键入“htpasswd -c .htpasswd mark
”,其中mark是您要为其创建登录的第一个用户。
对于每个其他人,请键入“htpasswd .htpasswd linda
”,其中linda
是您要添加到.htpasswd
文件的下一个用户名。
每次它都会提示您输入两次密码(您的密码将存储在.htpasswd
文件中),并在您创建的用户名旁边加密。注意:
AuthUserFile
需要绝对路径,但如果您没有使用正斜杠启动路径,则默认为httpd.conf
文件中指定的目录ServerRoot
。