자료실

Global It Leader!!


유용한 TIP

복구 CORS 에러 발생 이유 및 해결책

페이지 정보

작성자 no_profile 운영자쪽지보내기 메일보내기 자기소개 아이디로 검색 전체게시물 댓글 0건 조회 95회 작성일 24-10-11 11:43

본문

CORS?

Cross Origin Resource Sharing

CORS는 한 도메인 또는 Origin의 웹 페이지가 다른 도메인 (도메인 간 요청)을 가진 리소스에 액세스 할 수 있게하는 보안 메커니즘이다.

CORS는 서버와 클라이언트가 정해진 헤더를 통해 서로 요청이나 응답에 반응할지 결정하는 방식으로 CORS라는 이름으로 표준화 되었다. CORS는 최신 브라우저에서 구현된 동일 출처 정책(same-origin policy) 때문에 등장했다.

그런데 동일한 서버에 자원(폰트, ajax 파일)을 읽어오는데 CORS에러가 발생한다면...

그 이유는 도메인 앞에 www가 있고 없고 차이때문에 생긴다. 자원은 www로 호출하고 브라우저 주소에는 www가 없을때....

 

해결책1> .htaccess 파일을 작성해서 계정 root 폴더에 넣으면 된다.

RewriteCond %{HTTP_HOST} !^www\.test\.com$ [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.*)$ http://www\.test\.com/$1 [L,R] 


만약 도메인이 co.kr일때는 "www\.test\.co\.kr"처럼 .앞에 \기호를 넣어주면 된다. 


해결책2> 시작 페이지(index 파일) 상단에 한줄만 추가해 주면된다.
<?php

if($_SERVER['HTTP_HOST'] == "test.com") header("Location: http://www.test.com");
?>

이것때문에 2틀이나 붙들고 있었던 기억이...ㅠㅠ

댓글목록

등록된 댓글이 없습니다.