apache: ErrorDocument absoluto relativo / var / www /?

1

Meu apache VirtualHost contém uma diretiva ErrorDocument :

<VirtualHost *:80>
  ServerName test
  DocumentRoot /var/www/html/test/
  ErrorDocument 404 /error/404.txt
</VirtualHost>

O arquivo /var/www/html/test/error/404.txt existe.

Ao tentar acessar um arquivo não existente, recebo uma mensagem de erro-em-um-erro do apache:

The requested URL /foo was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

O log de erros contém:

[error] File does not exist: /var/www/html/test/foo [error] File does not exist: /var/www/error/404.txt

Por que o apache torna o caminho do documento de erro relativo a /var/www (diretório inicial do usuário do apache) em vez de relativo ao DocumentRoot do host virtual, como descrito nos documentos ?

URLs can begin with a slash (/) for local web-paths (relative to the DocumentRoot), ...

Isso acontece com o Apache 2.2 no CentOS 6.7.

    
por cweiske 05.12.2015 / 22:10

1 resposta

1

O motivo desse erro foi a configuração padrão:

Alias /error/ "/var/www/error/"

A remoção desta linha fez com que funcionasse.

    
por 05.12.2015 / 22:16