Ресурс интерпретируется как изображение, но передается с помощью MIME-типа text / html - Magento - PullRequest
37 голосов
/ 09 ноября 2011

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

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

Есть ли причина, по которой это происходит?

Ответы [ 15 ]

42 голосов
/ 09 января 2013

Это вполне может произойти, если путь к изображению установлен неправильно.Например, относительно текущего каталога «images / myimage.gif» и веб-корня »/images/myimage.gif".

Ссылка на« text / html »может указывать на то, что сообщение об ошибке возвращаетсясервер.

12 голосов
/ 10 февраля 2013

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

5 голосов
/ 24 января 2014

Нужно обслуживать изображения с правильным типом MIME -

Добавить эту строку в файл .htaccess (при условии, что это apache2 httpd):

AddType image/gif .gif

подсказка: может потребоваться mod_rewriteисключение для изображений:

RewriteCond %{REQUEST_URI} !\.(png|gif|jpg)$
RewriteRule ...

... все остальное может быть действительно 404.

3 голосов
/ 16 октября 2013

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

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

пример:

epicimage.jpg !== EpicImage.jpg

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

2 голосов
/ 13 марта 2015

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

background-image: url(''); 

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

background-image: none;
2 голосов
/ 29 июня 2014

Проверьте расширение вашего изображения, если используемая программа создает изображение, помечает его расширение заглавными или строчными буквами, некоторые серверы читают их по-разному.

2 голосов
/ 15 апреля 2013

После долгих исследований я обнаружил, что проблема вызвана комбинацией вещей, в результате чего сервер не знает, какой это тип документа, и смешивается между типами кодирования, такими как 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 (спасибо, г-н Google): «Ресурс интерпретируется как изображение, но передается с типом mime text / html»

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

2 голосов
/ 20 декабря 2012

Я проверил в основном все подобные вопросы в StackOverflow, пытаясь решить аналогичную проблему.

После всех попыток изменить мой файл htaccess и вставить аргументы php head, что для меня было исправлено ... простоизменение заглавной буквы на имени картинки.

Тьфу.(Это работало нормально в том же браузере, размещенном локально, тоже ... так что, конечно, я бы не подумал, что это изначально проблема.)

0 голосов
/ 10 мая 2016

Возможно, изображения не имеют разрешения на чтение

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

0 голосов
/ 04 мая 2016

Для пользователей magento2

Если вы изменили этот файл app / etc / di.xml со следующими

<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>

, убедитесь, что строка пути чувствительна к регистру(CaseSensitive для ОС не Windows)


Если вы столкнулись с 404 ошибками после magento2 Установите в Ubuntu .

Установите и включите переписать module

a2enmod rewrite

Затем Edit

 /etc/apache2/sites-available/000-default.conf

Добавить следующие строки в конец

<Directory "/var/www/html">
    AllowOverride All 
</Directory>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...