Apache: Redirect 404 e ErrorDocument 404 diferença

4

Gostaria de fazer um redirecionamento 404 com o Apache e encontrar várias soluções:

  1. O método .htaccess. Mas eu não quero adicionar um .htaccess se não for necessário.

  2. método host virtual:

<VirtualHost *:80>
    ServerAlias *.example.com
    Redirect 404 /index.html
    ErrorDocument 404 /index.html
</VirtualHost>

Gostaria de saber qual é a diferença entre o Redirect 404 e o ErrorDocument 404?

    
por DocWiki 20.08.2011 / 07:37

3 respostas

8

Você testou com a diretiva Redirect ?

Redirect 404 /index.html significa que uma resposta 404 retornará quando a solicitação do cliente /index.html (mesmo que possa existir).

ErrorDocument 404 /index.html significa que, quando o cliente acessar uma URL inexistente, o Apache redirecionará para a página index.html.

Você deve usar ErrorDocument neste caso.

    
por 20.08.2011 / 08:17
2

Os dois geralmente não estão relacionados. Quando eu tentei configurar um redirecionamento com um status 404, recebi a mensagem de erro Redirect URL not valid for this status ao tentar iniciar o apache.

Um Redirecionar envia o cliente para um novo endereço e fornece um status para o cliente. Os status retornados geralmente são 30x valores.

A diretiva ErrorDocument configura o apache para retornar uma página específica (em vez do padrão página) quando ocorre um erro do tipo nnn. No seu exemplo, você está dizendo return /index.html quando ocorre um erro 404 (Not Found).

O que você está tentando alcançar?

    
por 20.08.2011 / 09:26
0

Se você configurar a diretiva ErrorDocument corretamente, tudo o que você precisa fazer é garantir que o arquivo não esteja presente. Se você estiver tentando corresponder a um padrão de nome de arquivo, precisará corresponder ao padrão e reescrever a solicitação para uma resposta inexistente. E certifique-se de desativar a navegação no diretório:

<VirtualHost *:80>
 Options -Indexes
 ErrorDocument 404 /not-found.htm
 AliasMatch /index\.* /something/not/here
</VirtualHost>
    
por 20.08.2011 / 08:49