MIME 에러 관련 서버 설정하는 법 좀 알려주세요.
본문
안녕하세요.
xxx.js 파일을
xxx.php로 확장자를 변경한 후 파일 상단에
<?php if(!preg_match("/".$_SERVER['HTTP_HOST']."/i",$_SERVER['HTTP_REFERER'])) exit;?>
를 넣은 후
<script src="xxx.php"></script>
이런 식으로 불러오고 있습니다.
그간 대여섯 곳의 호스팅사와 컴퓨터에 설치한 라라곤 등에서 아무 문제 없이 사용하고 있었는데,
클라우드에 우분투+아파치 세팅하고 사용 중인데 문제 있는 줄 몰랐다가 오늘에서야 문제가 있다는 걸 알았습니다.
이게 계산식 소스 부분인데 제대로 나오지 않고 있었습니다.
크롬 개발자 도구에서 보면
Refused to execute script from 'xxx.php' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
문제가 나오더군요.
검색해 보고
<script type="text/javascript" src="xxx.php"></script>
<script type="application/x-httpd-php" src="xxx.php"></script>
이런 식으로 수정을 해봤는데 개발자 도구의 에러 문구는 없어졌지만 여전히 계산식이 제대로 작동하지 않고 있습니다.
xxx.php를 xxx.js로 변경하고 <script type="text/javascript" src="xxx.js"></script>로 불러오면 문제없고요.
지금 이런 상황에서 서버 설정 어디에서 어떤 부분을 추가 혹은 수정하면 해결이 가능한지 궁금합니다.
검색해 보니 httpd.conf에서 뭔가 설정을 해야 하는 거 같은데
라라곤이나 클라우드나 httpd.conf 파일 자체가 없습니다.
관련이 있는지 모르겠는데 파일 이리저리 살펴보니
제 컴에 설치한 라라곤의 etc/apache2/mod_php에 mime 관련 내용이 있는데
<IfModule mime_module>
AddType application/x-httpd-php .php
</IfModule>
이런 식으로 되어 있고,
문제 있는 클라우드는 etc/apache2/ 폴더 안에
확장자 없는 magic 파일이 있는데 mime 관련 내용이 아래와 같이 있습니다.
# Added ISO mimes
0 string MOVI video/sgi
4 string moov video/quicktime
4 string mdat video/quicktime
4 string wide video/quicktime
4 string skip video/quicktime
4 string free video/quicktime
4 string idsc image/x-quicktime
4 string idat image/x-quicktime
4 string pckg application/x-quicktime
4 string/B jP image/jp2
4 string ftyp
>8 string isom video/mp4
>8 string mp41 video/mp4
>8 string mp42 video/mp4
>8 string/B jp2 image/jp2
>8 string 3gp video/3gpp
>8 string avc1 video/3gpp
>8 string mmp4 video/mp4
>8 string/B M4A audio/mp4
>8 string/B qt video/quicktime
아시는 분 답변 주시면 정말 감사하겠습니다.
!-->!-->답변 2
php 내부에선 없나요? 마임타입건들거나 헤더 부분 확인해보세요
js화일을 불러오는 위치에서 조건으로 불러오면 될 것을....
js화일에다 php코드를 넣어서 해야하는 이유가 무엇인가요?
<?php if(!preg_match("/".$_SERVER['HTTP_HOST']."/i",$_SERVER['HTTP_REFERER'])){
<script src="xxx.js"></script>
<?php } ?>