Como especificar ErrorDocument para um VirtualHost no Apache2?

2

Eu tenho um servidor Apache 2 e ele tem vários vhosts com definição semelhante:

<VirtualHost *:80>
    DocumentRoot /var/www/html/host1/
    ServerName host1.loc
    <Directory /var/www/html/host1>
        AllowOverride FileInfo Options AuthConfig
    </Directory>
    ErrorDocument 404 /index.php?error=404
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot /var/www/html/host2/
    ServerName host2.loc
    <Directory /var/www/html/host2>
        AllowOverride FileInfo Options AuthConfig
    </Directory>
    ErrorDocument 404 /index.php?error=404
</VirtualHost>
...
<VirtualHost *:80>
    DocumentRoot /var/www/html/hostN/
    ServerName hostN.loc
    <Directory /var/www/html/hostN>
        AllowOverride FileInfo Options AuthConfig
    </Directory>
    ErrorDocument 404 /index.php?error=404
</VirtualHost>

Gostaria de personalizar a página 404.

O problema é que quando tento testar a página 404 em qualquer um dos hosts, posso ver a página do último vhost. O que poderia estar errado com minha configuração?

    
por Antonio 13.12.2013 / 20:06

2 respostas

1

Coloque diretivas ErrorDocument dentro da tag Directory.

Tronco: link

2.2: link

Custom error documents are configured using the ErrorDocument directive, which may be used in global, virtualhost, or directory context. It may be used in .htaccess files if AllowOverride is set to FileInfo.

    
por 08.11.2016 / 16:12
-4

Use um arquivo html em vez de um php.

ErrorDocument 404 /custom_error_404.html
    
por 13.12.2013 / 20:37