[php] Ресурс интерпретируется как изображение, но передается с текстом типа MIME / html - Magento



Answers

Я заметил эту проблему, возникшую в моем журнале JavaScript Console. Это был простой пример файла CSS, который искал фоновое изображение, которого не было, и сервер отправил сообщение об ошибке 404 на свое место.

Question

При загрузке нового продукта для моего магазина Magento я получаю ошибку ниже.

Resource interpreted as image but transferred with MIME type text/html

Есть ли причина, почему это происходит?




Моя проблема была в этой строке в CSS

background-image: url(''); 

Что должно было быть:

background-image: none;



Однажды у меня была такая же проблема из-за капитализации .

Мои коллеги работали над Mac и добавили некоторые файлы с верблюжьим корпусом, но в CSS они появились в нижней части. Это отлично работает на Mac, но я работал над Linux. Mac не различает имена файлов, имеющих разные случаи, но Linux делает. Большинство серверов там работают в Linux.

пример:

epicimage.jpg !== EpicImage.jpg

Благодаря Chrome Dev Tools проблему можно было найти очень легко. Просто щелкнув по изображению, url показал мне нашу страницу 404. Тайна решена: D




Если ваш путь к изображению и имя файла с учетом регистра установлены правильно, и если вы не можете изменить файл .htaccess вашего сервера, кодирование SVG в качестве URI данных является интерфейсным решением. css-tricks.com объясняет, как: http://css-tricks.com/using-svg/




Возможно, у изображений не было разрешения на чтение

Я также получил эту проблему, когда я использую TinyPNG для сжатия изображений, я получил это сообщение об ошибке «Ресурс, интерпретируемый как изображение, но перенесенный с текстом типа MIME / html». Затем я добавляю разрешение изображений, он работает.




После многих исследований я обнаружил, что проблема вызвана комбинацией вещей, приводящей к тому, что сервер не знает, что это за документ, и смешивается между типами кодирования, такими как UTF-8 (или что-то в этом роде)

Итак, в .htaccess измените раунд комментариев, чтобы у вас было следующее, задав набор символов UTF-8 по умолчанию.

############################################
## Prevent character encoding issues from server overrides
## If you still have problems, use the second line instead

    #AddDefaultCharset Off
    AddDefaultCharset UTF-8

Это остановило правильную ошибку, показанную в google (спасибо mr google): «ресурс интерпретируется как изображение, но передается с типом mime type / html»

И сделанные изображения отображаются в других браузерах (где не было обнаружено ошибок).




Для меня эта ошибка типа mime проявилась только при тестировании Safari 4.05 на клиентские требования и только в консоли. В конечном итоге это было вызвано тем, что Safari обрабатывает element.style.backgroundImage="url()"; стиля element.style.backgroundImage="url()"; неизящно. Очевидно, что Safari искал этот пустой URL-адрес, поэтому для Strixy и stevecomrie «никто» не лучший выбор. Это, по сути, та же проблема, что и выше, как близкий дубликат ресурса, интерпретируемый как другой, но перенесенный с текстом типа MIME / javascript? , в котором виновником был <script src=""> .






Links



Tags

php php   magento