由于我的 .htaccess Order 指令,升级 Apache 2.4 突然中断

Upgrading Apache 2.4 suddenly breaks because of my .htaccess Order directive

升级我的 Apache 2.4 版本后,我的 Web 应用程序 (FlightPath) 突然崩溃,显示 500 内部错误。

我最终在我的 .htaccess 中找到了这条语句:

Order allow,deny

事实证明,“Order”指令在 Apache 2.4 中已被弃用,随着我服务器上的最新更新,它显然开始因可怕的 500 内部错误而死亡。

通过查看其他 open-source 软件的 .htaccess 文件,我找到了解决方案。

当您不知道您的客户将使用 Apache 2.2 还是 2.4 时,这就是您需要构建 If 语句的方式:

  <IfModule mod_authz_core.c>
    Require all denied
  </IfModule>
  <IfModule !mod_authz_core.c>
    Order allow,deny
  </IfModule>

这仍将对 Apache 2.2 站点使用 Order,但对 Apache 2.4 站点使用新的 Require。