php 한글 - 이미지로 해석되었지만 MIME 유형 text / html로 전송 된 리소스-Magento




download magento2 (13)

Magento shop의 새로운 제품 이미지를 업로드 할 때 오류가 발생합니다.

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

이런 일이 일어나는 이유가 있습니까?


Answers

자바 스크립트 콘솔 로그에이 문제가 나타났습니다. 존재하지 않는 배경 이미지와 그 자리에 404 오류 메시지를 보내는 서버를 찾는 CSS 파일의 간단한 경우입니다.


나에게이 마임 유형 오류는 클라이언트 요구 사항에 따라 Safari 4.05를 테스트 할 때만 나타 났으며 콘솔에서만 나타났습니다. 궁극적으로 이것은 javascript 스타일 element.style.backgroundImage="url()"; 처리하는 Safari로 인해 발생했습니다. element.style.backgroundImage="url()"; ungracefully. 분명히 Safari는 빈 URL을 찾고 있었기 때문에 Strixy와 stevecomrie별로 "none"이 더 나은 선택입니다. 이것은 근본적으로 위에 언급 된 것과 거의 동일한 이슈로서 , 다른 MIME 타입 텍스트 / 자바 스크립트로 해석되는 리소스의 거의 중복 된 것으로 해석됩니다. 여기서 <script src=""> 는 범인이었다.


나는 대문자 때문에 같은 문제를 한 번 겪었다.

내 동료는 Mac에서 작업 중이었고 일부 낙타 케이스 파일을 추가했지만 CSS에서는 소문자로 나타났습니다. 이것은 Mac에서 잘 작동하지만 Linux에서 작업하고있었습니다. Mac은 다른 케이스가있는 파일 이름을 구분하지 않지만 Linux는 다릅니다. 밖에있는 대부분의 서버는 Linux에서 실행됩니다.

예:

epicimage.jpg !== EpicImage.jpg

Chrome Dev Tools 덕분에 문제를 쉽게 발견 할 수있었습니다. 이미지 URL을 클릭하기 만하면 404 페이지가 나에게 표시되었습니다. 수수께끼의 해결 : D


많은 연구가 끝난 후, 문제가 서버의 결과로 어떤 유형의 문서인지 모르고 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 유형 텍스트 / html로 전송 된 리소스"

그리고 다른 브라우저에서 이미지가 표시됩니다 (오류가 표시되지 않은 곳).


이미지의 확장자 를 확인하십시오. 이미지를 만드는 데 사용한 프로그램의 확장자가 대문자인지 작은 글자인지에 관계없이 일부 서버는이를 읽지 않습니다.


magento2 사용자의 경우

이 파일 app / etc / di.xml 을 다음과 같이 수정 한 경우

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

경로 문자열이 대소 문자를 구분하는지 확인하십시오 (비 Windows OS의 경우 CaseSensitive)

Magento2를 설치 한 후 404 오류가 발생하는 경우 우분투 에서 설치하십시오.

모듈 재 작성 및 활성화

a2enmod rewrite

그런 다음 편집

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

끝 부분에 다음 줄을 추가하십시오.

<Directory "/var/www/html">
    AllowOverride All 
</Directory>

비슷한 문제를 해결하려고하는 의 비슷한 질문을 모두 체크 아웃했습니다.

내 htaccess 파일을 변경하고 php head 인수를 삽입하려는 시도가 모두 끝난 후에 나에게 고정 된 것은 단지 그림의 이름에 대문자를 변경하는 것이 었습니다.

응. (로컬 브라우저와 동일한 브라우저에서 제대로 작동했습니다 ... 당연히 이것이 처음에는 문제라고 생각하지 않을 것입니다.)


이것은 내가 img 태그를 통해 SVG 이미지를 포함 할 때 나에게 일어났다. SVG 이미지를 태그를 통해 포함하는 경우 Object 태그로 전환해야합니다. <object type="image/svg+xml" data="imageFile.svg"> Test SVG Logo </object>


내 문제는 CSS에서이 줄과 함께

background-image: url(''); 

어느 쪽이었을 것인가?

background-image: none;

적절한 MIME 형식으로 이미지를 제공해야합니다.

이 줄을 .htaccess 파일에 추가합니다 (apache2 httpd라고 가정).

AddType image/gif .gif

힌트 : mod_rewrite는 이미지를 제외해야 할 수도 있습니다 :

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

... 그 밖의 모든 것은 실제로 404 일 수 있습니다.


이미지 경로와 대 / 소문자 구분 파일 이름이 올바르게 설정되어 있고 서버의 .htaccess 파일을 수정할 수없는 경우 SVG를 데이터 URI로 인코딩하는 것은 프런트 엔드 솔루션입니다. css-tricks.com은 다음과 같이 설명합니다 : http://css-tricks.com/using-svg/


잘못된 헤더로 이미지를 보내고, .htaccess를 통해 이미지 유형에 헤더를 추가하십시오.


제품 및 관련 제품이 동일한 웹 사이트에 있는지 확인하십시오. 관련 제품을 추가 할 때 분명하지 않습니다.







php magento