2013-06-24 48 views
2

因此,我通常希望基于它所在的服务器(例如live或development)稍微不同地设置htaccess规则。设置环境特定的htaccess规则

ErrorDocument通常需要不同,以及一些AddType和SetHandlers位。

有没有什么办法可以让它更加动态一些,并根据URL自动检测,然后设置一个变量,并且如果条件在htaccess中进一步下降?

想从URL检测,而不是与Apache设置参数请:)

+0

是什么让你的网址在开发版和真人版之间有所不同?它是主机还是路径? –

+0

@MathieuRodic都是,开发环境位于不同的域而不是根目录。例如www.livedomain.com和dev.otherdomain.com/devname/projectname – Horse

回答

0

没有没有任何办法通过某些URL检测到设定的那些东西完全做到这一点。您无法在您想要的某些东西(AddType SetHandlersErrorDocument)周围制定正常的if条件。

你可以使用env变量和mod重写,但我不认为你会喜欢最终的结果。你必须使用env|E=[!]VAR[:VAL]语法

如果你是,你可能能够通过使用<directory> sections </directory>来分隔不同的设置在httpd.conf或虚拟主机文件像做this。但是在htaccess中不允许使用Directory

另外我不会在生产环境中这样做,因为有些东西可能会出错,我会认为检测速度较慢并且不需要。也许您可能想要查看一下您运行的构建脚本,以根据主机名和其他因素创建/部署用于开发/生产的不同设置。