사이트를 리뉴얼 하려고 하는데.. 이미지 폴더가 문제네요.
본문
사이트를 리뉴얼 하려고 하는데.. 이미지 폴더가 문제네요.
이전 홈페이지에 문제가 있어 폴더에 파일을 올려 태그로 구현했는데..
이번에 옮기게 되면서 제작사 서버로 운용되면서 기존 파일 위치가 무너지게 되었습니다.
사이트에 파일을 넣어둘수 있는지 제작사에 문의 전이기는 한데..
외부에 서버를 두고... 사이트 내부 폴더처럼 표현할 방법이 있을까요?
예를들어 사이트가 a.com 이고 외부 서버가 b.com일때...
b.com에 있는 이미지가 b.com/img/a.jpg의 이미지를 a.com/img/a.jpg 처럼 가져올 수 있는 방법이 있을까요?
답변 3
Apache 서버를 사용할 경우
다음과 같은 설정을 추가해 리다이렉트 시킬수 있습니다.
사이트도메인 : a.com
이미지도메인 : b.com
사이트도메인 > DocumentRoot > .htaccess
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^(.*\.(?:gif|jpg|bmp|png|ico))$ [NC]
RewriteRule ^ %{REQUEST_SCHEME}://이미지도메인%1 [L,R=302]
</IfModule>
도메인이 틀리다는건 기본적으로 서버가 틀리다는 것이고
파일이 올라가있는 물리적인 경로가 틀리다는 이야기가 됩니다.
파일을 복사해서 따로 운영하시던지 그게 아니면 php 프로그램을 써서 리턴되는 이미지주소를 바꿔주는 방법이 있을 수 있겠네요
위의 방법을 간단한 로직으로 설명하자면
이미지를 불러오는 경로를 php로 받아서 처리하는 방식(gd등의 활용도 있을수 있겠네요)
->b.com/imgload.php?rurl=a.jpg
->imgload.php에서는 rurl을 받아 실제로는 "a.com/img/".$rurl 형태로 리턴받아 실행하는 방법
으로 쓸수 있겠네요
각서버 단독이고 ssh루트 접속이 가능하다는가정하에,
1. a.com 에 nfs서버 설치
2. b.com 의 img폴더만 a.com 의 img폴더 연결
하면 a.com 에서 올리든 b.com 에서 올리든 이미지는 동일한 a.com 의 img 폴더에 있게 됩니다.