Apache .htaccess 的 500 错误:“

Apache .htaccess 的 500 错误:“

在我的 Apache 虚拟主机配置文件中,我使用允许覆盖列表。我使用默认的,AllowOverride None因为我只想启用 .htaccess 中的特定指令,而不是指令组。

但是,我收到 HTTP 500 错误代码,错误日志中显示以下内容:

[Tue May 09 10:16:03.271831 2017] [core:alert] [pid 16415] [client 196.52.43.51:42111] /var/www/xyz/.htaccess: <Files not allowed here

.htaccess 文件中的第一部分是格式正确的<Files>部分。这不应该造成问题,因为它更像是一个“元指令“用于包含其他指令。

答案1

如果AllowOverrideListAllowOverride都设置为None,则 .htaccess根本不会加载。然而,事实证明存在某种 Apache 错误,其中 .htaccess 已加载但未正确处理 - 导致错误 - 如果只是AllowOverrideList但不是允许覆盖用于主 Apache 配置。

为了修复该问题并让<Files>.htaccess 中的其他部分之一正常工作,请AllowOverrideList在主 Apache 配置中的语句中添加以下内容:

AllowOverride Limit

您的需求可能会有所不同,您需要评估上述内容的安全影响。

相关内容