【发布时间】:2012-05-29 05:57:36
【问题描述】:
tl;dr:如何在 .conf 或 .htaccess 文件中执行以下操作:
<IfApache22>
# Do A
</IfApache22>
<IfApache24>
# Do B
</IfApache24>
更长的问题:
在 Apache 2.4 中,旧的 Order 已被弃用,取而代之的是 Require。
在我的 .htaccess 文件中
<FilesMatch "\.(long|list|file|types)$">
Order allow,deny
</FilesMatch>
这意味着 Apache 无法启动,除非我启用 access_compat。虽然这样做提供了一个有用的解决方法,但我想要一个适用于这两种语法的解决方案,因为配置将分发到许多服务器。问题是如何检测当前版本的 Apache 并应用正确的指令。
我打算将该文件用于分发给很多人并被很多人使用的框架,并且我无法控制/保证他们拥有或缺少任何特定的服务器设置,这就是为什么我想要文件为 2.2/2.4 “不可知论”。
【问题讨论】: