Apache2 错误 --- .htaccess:此处不允许评论

Apache2 错误 --- .htaccess:此处不允许评论

今晚我将我的 VPS 从 Ubuntu 16.04 LTS 升级到了 Ubuntu 18.04 LTS。一切都按预期进行,对 php aisle 5.6 进行了一些清理,对 php aisle 7.4 进行了一些库存整理。在我完成所有配置和模块更改后,Apache 毫无问题地重新启动了;我以为一切就绪了。但我的 4 个网站中有 3 个无法加载;没有干净的 404 页面,只有这个配置错误消息。

Internal Server Error 
The server encountered an internal error or misconfiguration and was unable to complete your request.

审查之后/var/log/apache2/error.log,我发现了这一点:

[Wed May 06 03:55:16.190469 2020] [core:alert] [pid 5657] [client 10.10.10.10:56897] 
/var/www/abc/example.com/.htaccess: No comments are allowed here, referer: https://example.com/

尝试了几种不同的方法后,似乎行首的注释不是问题,文件正常行结尾的注释才是问题。删除这些#main office注释或将其移动到自己的行中即可恢复一切。该# Allow from this IP address行仍保留在我的 .htaccess 文件中,但不会给我带来任何麻烦。

<Files wp-login.php>
    order deny,allow
    Deny from all
#   
#   Allow from this IP address
    allow from 10.10.10.10      #main office
    allow from 10.10.11.10      #satellite office
</Files>

这是“错误”还是“功能”?在 Google 中搜索“.htaccess:此处不允许评论”几乎什么都没出现。(当第四次搜索到外语时,您就知道您有麻烦了)。显然,跳转到 Ubuntu 18.04 或相关的 apache 或 php 更新是“何时”,但为什么?为什么这个内联文档有问题?怎么回事?

答案1

这是 Apache 的一个功能配置语法

以井号“#”开头的行被视为注释,将被忽略。注释可能 不是 与配置指令包含在同一行。指令前的空格会被忽略,因此您可以缩进指令以提高清晰度。空白行也会被忽略。

这一点最近没有改变:Apache 1.3。如果这些错误在升级后出现,则这些.htaccess文件可能之前从未使用过。建议避免使用.htaccess除非绝对必要。

相关内容