基于不同主机的AuthUserFile的不同路径

时间:2014-08-22 13:58:06

标签: apache .htaccess mod-rewrite apache2

我正在尝试在我的服务器上设置.htaccess / .htpasswd对,但是每个环境(dev,staging,production)都有不同的路径来存放文件。

我找到了一种基于主机检查环境的方法,即:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^stage\.domain\.com$
RewriteRule (.*) $1 [E=PYRO_ENV:stage]

RewriteCond %{HTTP_HOST} ^www\.domain\.com$
RewriteRule (.*) $1 [E=PYRO_ENV:production]

但现在我希望能够使用条件来根据环境设置AuthUserFile的路径。

所以我想我的问题是:

  1. 这甚至可能吗?
  2. 是否有一个文件适用于所有环境,只是根据主机名更改路径?
  3. 提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我来到这里问了同样的问题,现在我找到了解决方案,我回来分享它。

根据Apache's documentation,AuthUserFile 参数将文件路径作为参数。这个

<块引用>

(...)file-path 是用户文件的路径。如果不是绝对的话 被视为相对于 ServerRoot。

因此,使用文件的相对路径的简单方法似乎利用了这种行为,这在所有环境中都是一样的。

编辑:进一步搜索揭示了解决此问题的两种不同方法:使用 simlynksconditionals