在 .htaccess 文件中添加一行时出现 500 内部服务器错误

在 .htaccess 文件中添加一行时出现 500 内部服务器错误

我需要将以下行添加到我的.htaccess文件中,以便我的网站能够与 mod_security 配合使用

SecFilterScanPOST Off

但后来我收到一个错误

内部服务器错误

服务器遇到内部错误或配置错误,无法完成您的请求。

在我的 WebHost 管理器中,我看到以下消息:“mod_security 已安装并正在运行!”

我不知道我做错了什么?

答案1

该模块可能未加载。请尝试在<IfModule>堵塞为了避免这样的错误:

<IfModule mod_security.c>
    SecFilterScanPOST Off
</IfModule>

但请注意,这并不能解决您的问题。它只是避免了内部错误。

要解决您的问题,请确保已加载 mod_security 模块。这是通过LoadModule指示

答案2

您在评论中说,在日志文件中您可以看到“无效命令‘secfilterscanpost’,可能是拼写错误或定义错误”

如果您正在使用 mod_security2,则 SecFilterScanPOST 已过时,您应该将其迁移到 SecRequestBodyAccessas,迁移文档中对此进行了说明。

http://www.modsecurity.org/documentation/ModSecurity-Migration-Matrix.pdf

答案3

检查您的 apache 错误日志(在 Linux 上它通常位于 /var/log/http/error_log 或类似位置)。

答案4

如果你的 mod_security 版本是 2 或更高版本,则你不能将指令放在 .htaccess 文件中 -只需 httpd.conf 即可。我想他们迟早会把这个添加到常见问题解答中。

相关内容