Estou criando um servidor DNS de bloqueio de propaganda que redireciona todos os domínios de propaganda para uma instância do Apache . Então, algo como
www.addomain.com
é redirecionado para
dnsserver.localnetwork
No entanto, ocasionalmente, encontro links mais parecidos
www.addomain.com/some_ad
que é redirecionado para
dnsserver.localnetwork/some_ad
que nem existe e, portanto, gera um 404
erro.
Eu esperava que houvesse alguma maneira de fazer o Apache servir index.html
, independentemente da solicitação real. Caso contrário, se você tiver uma solução alternativa que não envolva o Apache, eu também aceito.
Respostas:
No Ubuntu, verifique se
mod_alias
está ativado:Em sua diretiva VirtualHost, você pode usar
AliasMatch
.Exemplo:
Agora tudo é redirecionado para
/index.html
.fonte
Você precisa de uma regra de reescrita no arquivo .htaccess. Algo como o seguinte deve funcionar:
fonte
Outra opção mais simples seria alterar a página de erro 404 para a página estática que você deseja mostrar para todas as páginas do seu site. Portanto, procure esta linha (ou algo semelhante) nos arquivos de configuração do apache2:
E altere "/errors/not_found.html" para: "/index.html"
fonte