.htaccess 设置特定于环境的htaccess规则

.htaccess 设置特定于环境的htaccess规则,.htaccess,environment-variables,.htaccess,Environment Variables,因此,我通常希望根据htaccess所在的服务器设置稍有不同的规则,例如live或development ErrorDocument通常需要不同,以及一些AddType和SetHandlers位 有没有什么方法可以让它更具动态性,让它基于URL自动检测,然后在htaccess中设置一个变量和if条件 要完全从URL检测而不是使用apache设置参数来实现这一点,请:)不,没有任何方法可以通过一些URL检测来设置这些内容。如果条件围绕您想要的某些内容(AddType SetHandlers和Err

因此,我通常希望根据htaccess所在的服务器设置稍有不同的规则,例如live或development

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

有没有什么方法可以让它更具动态性,让它基于URL自动检测,然后在htaccess中设置一个变量和if条件


要完全从URL检测而不是使用apache设置参数来实现这一点,请:)

不,没有任何方法可以通过一些URL检测来设置这些内容。如果条件围绕您想要的某些内容(
AddType SetHandlers
ErrorDocument
),则无法正常执行

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

如果您在httpd.conf或vhost文件中,则可以使用
部分
来分离不同的设置。但是htaccess中不允许使用
目录


另外,我不会在生产环境中这样做,因为可能会出现问题,我认为检测速度较慢,不需要。也许您需要查看运行的构建脚本,根据主机名和其他因素创建/部署不同的开发/生产设置。

是什么使您的URL在开发版本和实时版本之间有所不同?是主机还是路径?@MathieuRodic两者都是,开发环境位于不同的域中,而不是根目录中。例如www.livedomain.com和dev.otherdomain.com/devname/projectname