Hoje à noite eu atualizei meu VPS do Ubuntu 16.04 LTS para o Ubuntu 18.04 LTS. Tudo funcionou como esperado, teve uma pequena limpeza no corredor php 5.6 e algumas prateleiras de estoque no corredor php 7.4. O Apache reiniciou sem um gemido depois de todas as minhas alterações de configuração e mod; pensei que eu era bom para ir. Mas 3 dos meus 4 sites não carregavam; nenhuma página 404 limpa, apenas esta mensagem de configuração incorreta.
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Depois de analisar o /var/log/apache2/error.log
, encontrei isso:
[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/
Depois de tentar várias coisas diferentes, parece que os comentários que iniciam a linha NÃO são o problema, são os comentários que terminam uma linha normal do arquivo. Remover ou mover esses #main office
comentários para suas próprias linhas traz tudo de volta online. A # Allow from this IP address
linha ainda está no meu arquivo .htaccess, mas não me causa nenhum problema.
<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>
Isso é um erro ou uma característica'? Uma busca no Google por ".htaccess: Nenhum comentário é permitido aqui" não traz quase nada. (Você sabe que está com problemas quando o 4º hit é em uma língua estrangeira). Obviamente, o salto para o Ubuntu 18.04 ou as atualizações associadas do apache ou php são o 'quando', mas por quê? Por que essa documentação em linha é problemática? O que da?
Este é um recurso e vem da sintaxe de configuração do Apache :
Isso não mudou recentemente: tem sido o mesmo no Apache 1.3 . Se esses erros aparecerem após uma atualização, é possível que esses
.htaccess
arquivos nem tenham sido usados antes. Também é recomendado evitar o uso.htaccess
, a menos que seja absolutamente necessário.