.htaccess中特定域的条件设置?

时间:2012-02-28 22:03:34

标签: apache .htaccess

我想在.htaccess文件中为特定的domian设置条件设置。我的用例是我有dev(example.dev)和live(example.com)。 htaccess文件在我的git repo中但我在.htaccess中有一些设置应该只适用于实时站点。理想情况下,我希望有一个条件设置,如下面的伪代码:

<sometag domain=my_prod_domain example.com>

#code specific to only the live domain here

</sometag>

1 个答案:

答案 0 :(得分:3)

您是否可以访问主配置文件?

如果是,那么您可以使用

为不同的主机指定不同的配置文件
  AccessFileName .public.htaccess

  AccessFileName .dev.htaccess

然后您可以使用Include指令来加载两者共有的配置。

  Include .common.htaccess

另一个想法是尝试使用If-Directives,但这一切都取决于您的设置和对配置的访问级别:http://httpd.apache.org/docs/2.4/mod/core.html#if

编辑:

好的,我认为使用IfDefine,您可以使用原始内容做更多的事情:

开始你的开发。服务器httpd -DDevServer并且您的语句如下:

<IfDefine DevServer>
#Config specific for your dev. server
</IfDefine>

<IfDefine !DevServer>
#Config specific for your live server.
<IfDefine>

对于此解决方案,您甚至不需要在实时服务器上进行root访问。