При загрузке нового продукта для моего магазина Magento я получаю ошибку ниже.
Resource interpreted as image but transferred with MIME type text/html
Есть ли причина, почему это происходит?
Это может произойти, если ваш путь изображения установлен неправильно. Например, по отношению к текущему каталогу «images / myimage.gif» по сравнению с веб-корнем «/images/myimage.gif».
Ссылка на «text / html» может указывать на то, что сервер возвращает ошибку.
Я заметил эту проблему, возникшую в моем журнале JavaScript Console. Это был простой пример файла CSS, который искал фоновое изображение, которого не было, и сервер отправил сообщение об ошибке 404 на свое место.
Нужно обслуживать изображения с соответствующим типом MIME –
Добавьте эту строку в файл .htaccess (предположим, что это apache2 httpd):
AddType image/gif .gif
Подсказка: mod_rewrite может потребовать исключения для изображений:
RewriteCond %{REQUEST_URI} !\.(png|gif|jpg)$ RewriteRule ...
… все остальное может быть действительно 404.
Однажды у меня была такая же проблема из-за капитализации .
Мои коллеги работали над Mac и добавили некоторые файлы с верблюжьим корпусом, но в CSS они появились в нижней части. Это отлично работает на Mac, но я работал над Linux. Mac не различает имена файлов, имеющих разные случаи, но Linux делает. Большинство серверов там работают в Linux.
пример:
epicimage.jpg !== EpicImage.jpg
Благодаря Chrome Dev Tools проблему можно было найти очень легко. Просто щелкнув по изображению, url показал мне нашу страницу 404. Тайна решена: D
Я проверил в основном каждый аналогичный вопрос о StackOverflow, пытающийся решить подобную проблему.
После всех попыток изменить файл htaccess и вставки аргументов php head, для меня это было исправлено … просто изменив заглавную букву на имени картинки.
Тьфу. (Он отлично работал в том же браузере, который был локальным, тоже … так что, конечно, я бы не подумал, что это было изначально.)
После многих исследований я обнаружил, что проблема вызвана комбинацией вещей, приводящей к тому, что сервер не знает, что это за документ, и смешивается между типами кодирования, такими как 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»
И сделанные изображения отображаются в других браузерах (где не было обнаружено ошибок).
Пожалуйста, проверьте расширение своего изображения, независимо от того, использовала ли программа создание изображения с расширением с заглавными буквами или маленькими буквами, некоторые серверы читают их по-разному.
Моя проблема была в этой строке в CSS
background-image: url('');
Что должно было быть:
background-image: none;
Для меня мой путь был установлен неверно относительно файла css, который пытался вытащить изображение из того, что вызвало ошибку в консоли.
Мне пришлось выходить из 2-х каталогов, а затем в тот, который имел мой образ. Перед тем, как косая черта выведет вас из каталога. Каждый. выдает еще один каталог.
ех. url (../Folder/ImagesFolder/image.gif)
Если ваш путь к изображению и имя файла с учетом регистра установлены правильно, и если вы не можете изменить файл .htaccess вашего сервера, кодирование SVG в качестве URI данных является интерфейсным решением. css-tricks.com объясняет, как: http://css-tricks.com/using-svg/
Это произошло со мной, когда я включил изображение SVG через тег img. Если вы включаете изображение SVG через тег, вам нужно вместо этого переключиться на тег объекта: <object type="image/svg+xml" data="imageFile.svg"> Test SVG Logo </object>
Для меня эта ошибка типа mime проявилась только при тестировании Safari 4.05 на клиентские требования и только в консоли. В конечном итоге это было вызвано тем, что Safari обрабатывает element.style.backgroundImage="url()";
стиля element.style.backgroundImage="url()";
неизящно. Очевидно, что Safari искал этот пустой URL-адрес, поэтому для Strixy и stevecomrie «никто» не лучший выбор. Это, по сути, та же проблема, что и выше, как близкий дубликат ресурса, интерпретируемый как другой, но перенесенный с текстом типа MIME / javascript? , в котором виновником был <script src="">
.
Для пользователей Magento2
Если вы изменили это приложение файла / etc / di.xml следующим образом
<item name="view_preprocessed" xsi:type="object">Magento\Framework\App\View\Asset\MaterializationStrategy\Copy</item>
убедитесь, что строка пути – это Case Sensitive (CaseSensitive для ОС, отличного от ОС Windows)
Если вы столкнулись с 404 ошибками после установки magento2 в Ubuntu .
Установить и включить модуль перезаписи
a2enmod rewrite
Затем Edit
/etc/apache2/sites-available/000-default.conf
Добавить следующие строки в конце
<Directory "/var/www/html"> AllowOverride All </Directory>
Возможно, у изображений не было разрешения на чтение
Я также получил эту проблему, когда я использую TinyPNG для сжатия изображений, я получил это сообщение об ошибке «Ресурс, интерпретируемый как изображение, но перенесенный с текстом типа MIME / html». Затем я добавляю разрешение изображений, он работает.
изображение отправляется с неправильными заголовками, добавляет заголовки к типу изображения через .htaccess