Apache retornando texto / html em alguns arquivos png

2

Eu tenho um servidor web Apache que tem uma subpasta para imagens. Por algum motivo, alguns dos arquivos .png são retornados como text / html e não como image / png.

Não há nada indicando um problema de permissão e os arquivos retornam com o código 200 e com tamanho total. Eu me certifiquei de que image / png está configurado e até tentei forçar isso com .htaccess

Alguma ideia de onde procurar a seguir?

Editar: parece um problema de configuração do .htaccess em um diretório pai.

    
por Oren 20.11.2011 / 16:53

3 respostas

1

Você se certificou de que os arquivos png são arquivos de imagem válidos? Se você está em uma plataforma Linux, você pode tentar o comando file

file somefile.png

Esse comando deve retornar algo nos moldes de

PNG image data, 318 x 15, 8-bit/color RGB, non-interlaced

Você também pode tentar visualizar o arquivo com um visualizador de imagens.

    
por 20.11.2011 / 17:18
1

O problema para mim era que o arquivo de imagem a ser entregue se chamava pear.php.net-sos8j3lis2j.png .

A diretiva AddHandler do Apache - usada para atribuir o interpretador PHP. arquivos php - suporta várias extensões e pear.php.net.png foi visto como tendo três extensões: .php , .net e .png . .php foi o primeiro, para o interpretador do php foi invocado.

text/html foi enviado pelo apache ou pelo PHP, não sei.

O que eu tive que fazer para corrigir o problema:

Substitua todas as instâncias de

AddHandler php-cgi .php

com

<FilesMatch \.php$>
    SetHandler php-cgi
</FilesMatch>
    
por 10.04.2014 / 11:18
0

Talvez procure por .png, .PNG, .pNG e .PNg.

    
por 20.11.2011 / 17:19