今晚我将我的 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 更新是“何时”,但为什么?为什么这个内联文档有问题?是什么赋予了?
这是一个特性,来自 Apache 的配置语法:
这一点最近没有改变:在Apache 1.3中也是如此。如果升级后出现这些错误,则可能是这些
.htaccess
文件以前没有使用过。除非绝对必要,还建议避免使用。.htaccess