Apache 410 Instruções não trabalhadas com mod_alias nem mod_rewrite

1

O Apache 2.2 (em um servidor rodando cPanel) parece estar ignorando instruções para retornar um status 410.

Isto acontece tanto para Redirect de mod_alias (usando 410 ou gone ) quanto para RewriteRule de mod_rewrite (usando [G] ), sendo usado dentro de um arquivo .htaccess.

Isso funciona:

Redirect 302 /somewhere /gone

Mas isso não acontece:

Redirect 410 /somewhere

Essa linha é ignorada (como se tivesse sido comentada) e a requisição passa por outras regras (que a direcionam para um script genérico de tratamento de erros não relacionado).

Da mesma forma, tentar usar um RewriteRule com um sinalizador [G] não funciona, mas a mesma regra é reescrita em um script que gera um 410 - então as regras não são o problema e parece ser algo cerca de 410 / ido que não está se comportando.

Eu posso resolver isso com um script enviando o 410, mas isso é irritante e eu não entendo porque ele não está funcionando.

Alguma idéia?

    
por Peter Boughton 03.11.2012 / 04:40

2 respostas

6

Parece haver um bug no cPanel - ele requer um ErrorDocument explícito para que o 410 tenha efeito.

Então, a solução é adicionar o seguinte ao .htaccess:

ErrorDocument 410 default

Isso permite que o [G] funcione para o RewriteRule. (Ainda não verificaram que o redirecionamento é fixo também.)

Fonte: link

    
por 04.11.2012 / 00:05
-1

O que você quer dizer ao dizer que não funciona, que código de status é retornado? Se você estiver usando módulos de apache de terceiros, tente desativá-los primeiro.

    
por 03.11.2012 / 22:56