在目前的项目中,我们有单独的开发和生产。这两种代码都位于单独的SVN存储库中。
问题在于从外部进入开发环境。假设我们有两个单独的服务器用于prod和dev:
1.2.3.4 -> production
5.6.7.8 -> development
这样做的目的是在两个服务器上对Auth使用相同的.htaccess,但其行为必须是:
应该是这样的(伪代码):
IF $SERVER_IP == 5.6.7.8 THEN
require_auth
ELSE
do_not_require_auth
我们正试图通过尽可能少的额外模块来实现这一点,但遗憾的是,我们无法根据服务器信息在.htaccess中找到任何关于如何执行条件的信息。
有可能吗?
发布于 2011-11-09 09:13:35
您应该将这些添加到.htaccess身份验证/授权指令中。
setenvif Server_Addr=1.2.3.4 okpublic
allow from env=okpublic
require valid-user
satisfy any
如果服务器地址为1.2.3.4,那么我们将在第二行中设置一个环境变量,以允许访问任何人。如果服务器地址不是1.2.3.4,那么用户必须进行身份验证。如果满足这2条规则中的任何一条,则授予访问权限。
我所做的很奇怪,但是如果这是你想要的:)
另一种更简单的解决方案是在生产服务器上执行svn更新时忽略.htaccess文件,使用svn propedit svn:忽略。如果您需要在prod和dev上有不同的.htaccess文件,那么您可能需要查看分支、合并等,或者多用途.htaccess文件更好。我也想提到svn控件。
https://serverfault.com/questions/329372
复制相似问题