Isso pode acontecer quando um ErrorDocument
é definido na configuração do servidor que substitui o status HTTP que seria retornado para esse erro específico. Nesse caso, um ErrorDocument
pode ser definido para um status 403, mas retorna explicitamente um código de status HTTP 404 em seu lugar.
Normalmente, você resolveria isso na origem na configuração do servidor, no entanto, você pode redefinir o documento de erro de volta ao padrão (ou definir seu próprio ErrorDocument
personalizado) em .htaccess
. Por exemplo:
ErrorDocument 403 default
Eu vi uma configuração incorreta (aparente) semelhante em alguns servidores compartilhados, onde a substituição em .htaccess
é a única opção.
...it tried to get the
403.shtml
page but since that didn't exist it carried on to a 404.
Isso talvez pareça plausível, no entanto, não "normalmente" funciona assim. Normalmente, se o documento de erro personalizado definido não existir, o Apache responde com um documento de erro "gerado pelo sistema" e ainda define o código de status HTTP correto.
(O documento de erro "sistema gerado" é ligeiramente diferente do documento de erro "padrão" que você normalmente veria.)