Obtendo 404s no site WordPress, mas apenas a partir do IE com mensagens de erro amigáveis ligadas

1

Estou recebendo erros de 404 páginas não encontradas (80% do tempo) em qualquer link do link , mas apenas para navegadores do IE e somente se "Mensagens de erro amigáveis" estiver ativado. Vá para as configurações do IE e desative "Mensagens de erro amigáveis", e o problema não volta. Ative novamente "Mensagens de erro amigáveis" e o problema volta, mas apenas 80% do tempo. Nenhum outro navegador, exceto o IE, tem esse problema. Até agora, vemos esse problema no IE8 e no IE9.

Quando digo 80% do tempo, quero dizer que clico em um link após limpar o histórico e o cache do navegador e obter a mensagem 404 no IE. Mas, em seguida, atualize como 4 vezes e, de repente, a página aparece bem. Desligue "Mensagens de erro amigáveis" e o problema volta. Estamos vendo isso em vários tipos de Windows (XP, Vista, Windows 7 e Windows Server 2008 em uma VM no Ubuntu Linux).

Além disso, este é apenas um problema recente de cerca de duas semanas atrás. Durante vários meses, este site funcionou muito bem em a2hosting.com. Até agora, o a2hosting.com ainda está solucionando problemas e eles não conseguem descobrir o problema.

Este é um site do WordPress que foi carregado com o Pods CMS. Não tem outros plugins além do Pods CMS. Eu construí um tema WordPress personalizado e, em seguida, uso a API Pods CMS para puxar conteúdo para exibir. Isso converteu isso de um blog em um site de pequenas empresas.

O .htaccess deste site também é a variedade normal do WordPress.

UPDATE1

Por uma solicitação de @JeffAlbert, estou mostrando o que os logs de erro dizem quando encontro o 404 em um navegador do IE8. Foi quando eu cliquei em um link chamado "/ map" na página inicial. (Observe que eu mudei o endereço IP para minha proteção de estação de trabalho.) Observe que, na primeira tentativa, ele falhou. Na segunda tentativa, passou.

50.0.0.0 - - [25/Mar/2011:00:56:51 -0400] "GET /map HTTP/1.1" 404 9082 "http://doubleabody.com/" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)"
50.0.0.0 - - [25/Mar/2011:00:56:59 -0400] "GET /map HTTP/1.1" 404 9216 "-" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)"

E agora é isso que acontece quando eu clico / mapeio novamente com "Mensagens de erro amigáveis" desativadas no IE8, onde elas aparecem de forma consistente:

50.0.0.0 - - [25/Mar/2011:01:03:19 -0400] "GET /map HTTP/1.1" 404 9216 "http://doubleabody.com/liftgates" "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.0; Trident/4.0; SLCC1; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729)"

E aqui está o resultado quando uso o Google Chrome do Ubuntu Linux, onde ele funciona de forma consistente:

50.0.0.0 - - [25/Mar/2011:01:07:20 -0400] "GET /about HTTP/1.1" 404 11801 "http://doubleabody.com/map" "Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.151 Safari/534.16"
    
por ServerChecker 25.03.2011 / 05:13

2 respostas

1

Eu tinha um tema personalizado no WordPress que eu codifiquei. A maneira como funcionou foi pegar todas as conexões do site e enviá-las para o arquivo index.php do tema. Isso então chama o get_header (), get_sidebar (), show content e get_footer () - material WordPress padrão do WordPress.

Estranhamente, porém, os registros estavam refletindo um status 404. Então, no meu index.php, eu fiz a primeira linha da seguinte forma:

cabeçalho ('HTTP / 1.1 200 OK');

Nesse ponto, os logs do Apache não estavam mais mostrando 404, mas 200. Agora, o problema no IE não ocorre mais.

Então, eis o que eu supus desse problema. Evidentemente, o IE estava ignorando a condição 404 desde o surgimento do IE. Mas na semana passada, evidentemente, suponho que a Microsoft introduziu uma atualização do sistema para o IE7, IE8 e IE9 que fez com que parasse imediatamente em um cabeçalho de status 404, mesmo que o conteúdo válido voltasse. Por me forçar um cabeçalho 200 através do tema, o IE não vê mais o 404 e vê um 200. Assim, nenhum erro.

    
por 27.03.2011 / 21:09
0

Adivinhação improvisada: DNS mal acessível pelo cliente. Metodologia de teste: confirme nos logs de acesso do seu servidor da web se você está realmente vendo os 404s retornados para qualquer cliente; se não, então as solicitações nunca chegaram ao seu servidor web em primeiro lugar, e você deve começar a olhar para o DNS (começando com a fonte autorizada para o seu domínio) ou problemas reais de conectividade de rede do lado do cliente.

Se você ver os 404s reais sendo retornados, o caminho que o seu cliente tentou carregar provavelmente lhe dará uma boa ideia do que está causando o problema. Espero que ajude!

    
por 25.03.2011 / 05:26