Apache 升级 2.2 -> 2.4 问题

Posted

技术标签:

【中文标题】Apache 升级 2.2 -> 2.4 问题【英文标题】:Apache upgrade 2.2 -> 2.4 issue 【发布时间】:2014-06-16 17:18:02 【问题描述】:

我在更新 Apache(从 2.2 到 2.4)时遇到问题。我在尝试访问“localhost”时不断收到相同的消息

.htaccess: 此处不允许使用 RewriteEngine

我从浏览器得到的结果也是 500 Internal Server Error。

我已将旧的授权标签从“全部允许”完全更改为“全部授予”,仍然相同。尝试加载 mod_access_compat - 还是一样。

有什么想法吗?我的 httpd.conf 目前几乎是默认的,唯一的变化是 DocumentRoot 和 Directory。

【问题讨论】:

***.com/questions/6995545/… 我有'AllowOverride All',还是一样。 【参考方案1】:

我在编辑旧的 httpd.conf 时感到困惑 - 它已将 DocumentRoot 配置如下:

DocumentRoot "web/"

#
# This should be changed to whatever you set DocumentRoot to.
#
<Directory "web/">
...

使用此配置,新的 Apache 将无法正常工作。我将目录更改为“/”并且它起作用了。

还需要加载 mod_rewrite 模块并将 AllowOverride 设置为 All(或 FileInfo)。

【讨论】:

以上是关于Apache 升级 2.2 -> 2.4 问题的主要内容,如果未能解决你的问题,请参考以下文章

xModRedirect 在 apache 2.2 与 apache 2.4 上的工作方式不同 如何在 2.2 上工作?

Apache 在 dist 升级后显示空的“/”索引

htaccess 文件在 apache 2.2 中有效,但在 apache 2.4 中无效 - aws beanstalk 托管

.htaccess for apache 2.2 不适用于 apache 2.4 vagrant 开发框

Apache 2.4 不使用适用于 2.2 的规则通过 mod_rewrite 进行代理

Symfony 2 Apache 2.4 php7 升级 Vhost 文件