Só no IE

aluno

Power Member
Boas,

Algumas páginas do meu site apenas estão a abrir no IE.
Quer em Firefox quer em Opera não abrem... em vez da página aparece o código fonte (!?)
As mesmas páginas abrem em offline (a partir do meu disco) no Firefox.
De referir que mudei de alojamento antes de isto acontecer, no início deste mês.

Alguém faz ideia do que poderá ser?
Obrigado
 
E se indicasses qual é o teu site para termos uma ideia? É que isto assim, saído do nada e com tão pouca informação, é difícil saber de onde ver o problema.
 
podias por começar por colocar uma extençao no ficheiro que nao abre no firefox... ja que nem é html, htm, xhtml nem nada parecido com documento web, parece-me que nao guardaste a pagina com a devida extençao. Abre o documento com o notepad ou coisa parecida, e guarda-o como *.html e veras que tens o teu prob resolvido.

p.s. Organiza o teu codigo que aquilo esta uma guerra que nao se compreende...
:)
cumps.
 
Hmmm... estás consciente que aquilo é apenas URL rewriting, não estás? Aquilo são artigos de um blog gerados dinamicamente e cujos endereços levam uma "personalização". Neste caso é /ano/mês/título-do-artigo. Nada a ver com a extensão.

De resto, não tenho explicação. :(
 
Obrigado pelas respostas :)

Sim.. as páginas que não abrem são as páginas dos comentários dos posts do blog, e são geradas automaticamente pela Blogger.

Há cerca de um mês atrás as mesmas páginas abriam perfeitamente no Firefox. Mesmo agora, essas mesmas páginas abrem offline no Firefox. (experimentem gravar para o disco e abrir)

A única coisa que mudou foi o alojamento do site. Já tentei googlar situações em que o Firefox apenas mostra o código como neste caso, e li qualquer coisa que relaciona o problema com o alojamento, tipos de servidor, etc, mas já são assuntos que me ultrapassam...
 
Usa o Firefox com o Live HTTP Headers e vê a troca de dados entre o browser entre o FF e o servidor tal como ela acontece. Atm não tou no meu FF para poder ver isso, mas em principio é prob do servidor.
 
Isto é um tiro no escuro, porque não conheço o script que gera essa página.
Verifica o tipo de documento que o servidor Apache está a enviar por default. Provavelmente no servidor anterior o Apache tinha qualquer coisa como 'DefaultType text/html' e agora tem 'DefaultType text/plain'. O Apache utiliza este tipo quando o script não envia um DocumentType e não mete uma extensão no ficheiro. Ou seja, isso cheira-me a bug do script que estás a usar.

http://httpd.apache.org/docs/2.2/mod/core.html#defaulttype
 
Já tinha lido noutro fórum uma explicação muito parecida com essa, e sem saber qual o Doctype mais adequado para o meu caso, experimentei uns 6 diferentes (lol) e não resolveu o problema.
Ou não tem a ver com isso ou fui eu que não experimentei o Doctype mais adequado..
Já agora qual seria o Doctype adequado para a página em causa?


Código:
 Verifica o tipo de documento que o servidor Apache está a enviar por default.
Onde posso ir buscar esta info?
 
Código:
à configuração do servidor, no ficheiro /etc/httpd/httpd.conf
Não faço a mínima ideia onde seja lol... estas configurações não são feitas pelo host? Já lhes mandei um mail mas estão há vários dias sem responder.


Código:
o que é que, e como é que, 'experimentaste'?
Andei no http://validator.w3.org/ a ver se aprendia alguma coisa mas não cheguei a conclusão nenhuma, e comecei a experimentar um a um os doctypes que existiam ehehe pondo-os no inicio do código da página..
Se soubessemos qual o adequado até curtia pôr mesmo que não resolvesse este problema.
 
comecei a experimentar um a um os doctypes que existiam ehehe pondo-os no inicio do código da página..
Se soubessemos qual o adequado até curtia pôr mesmo que não resolvesse este problema.
ah! se o problema é o que eu referi, não vais lá dessa forma. Não é uma 'coisa' que mudes no HTML. Eventualmente, podes modificar o script que faz o output da página.
No limite, experimenta meter a extensão .htm no documento no momento em que é gerado.

EDIT: esta página(http://validator.w3.org/check?verbo...om/2007/05/enquanto-se-desenvolve-pgina-sobre) sugere-me que o problema é o que te referi.
 
Última edição:
Página ok.

Código:
http://www.yogofilos.com/blog.html
...
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html

Página em texto

Código:
http://www.yogofilos.com/2007/05/enquanto-se-desenvolve-pgina-sobre
...
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/plain

Dai eu ter dito para usares o Live HTTP headers. É mais simples ler "server-client talk" que adivinhar. O problema é que na segunda o servidor está a dizer ao client que o conteudo é text/plain e não text/html como devia.

A razão pela qual funciona no IE é basicamente uma falha e não uma benesse. O IE ignora totalmente o que o servidor lhe está a dizer e faz content sniffing. Ao olhar para o conteudo, este é obviamente HTML. Mas o comportamento está errado, pq o server pode realmente estar a mandar-lhe text/plain para ser mostrado como text/plain. Mais um momento brilhante MS...

Agora, quanto ao problema em si, é derivado ao gerador de conteudo estar a gerar o content-type errado mas só olhando para o dito animal é que podia dizer mais.
 
O blog tá mesmo a precisar dum código novo.. tenho que ver se arranjo paciência para fazer uma coisa melhor ehehe
Mas entretanto isto tem que ficar a funcionar. O host pode resolver o problema?
Ou tenho que ser eu? Já tive a ver no Cpanel uma opção que permite adicionar Mime types, configurando o servidor. Será que resolve por ali?

Provavelmente no servidor anterior o Apache tinha qualquer coisa como 'DefaultType text/html' e agora tem 'DefaultType text/plain'. O Apache utiliza este tipo quando o script não envia um DocumentType e não mete uma extensão no ficheiro. Ou seja, isso cheira-me a bug do script que estás a usar.
Aqui pensei que estavas a falar da página não ter a declaração DOCTYPE no inicio do código:D
 
Problema: esta página não está a enviar (para o servidor Apache) o cabeçalho (header HTTP) referente ao content-type da forma esperada (text/html). O Apache, se não consegue adivinhar o content-type, aplica o default - que no caso parece ser text/plain (que é a opção default do Apache).

Como resolver:
1. Uma vez que esta falha é um bug do script que gera a página HTML, a forma correcta para resolver isto de uma vez por todas é corrigir o bug;
2. Para 'ajudar' o Apache a adivinhar o tipo de conteúdo do documento, o ficheiro pode ter a extensão '.htm';
3. Pedir 'carinhosamente' a quem mantém o servidor para alterar o DefaultType para 'text/html';
4. Esta directiva pode ser aplicada nos hosts virtuais, portanto, se tens acesso à configuração do teu host virtual, podes adicionar/modificar esta directiva:
DefaultType text/html

Os pontos 2 a 4 são 'workarounds'. Isto cheira-me fortemente a bug da aplicação.
 
Ehehe Será que o meu host nunca mais respondeu por estar 'carente' ?
A tua resolução 3 é a melhor de longe.
Será que é muito trabalhoso para eles mudarem essa configuração??
Espero que não :)
Obrigado pela vossa ajuda.
 
Back
Topo