티스토리 뷰


#2010-04-30 PM 6:00 - 게시글 작성


  얼마전에 어느 업체로부터 solution을 구매하였다. 분양 system이 있었는데 demo site에서는 도메인 뒤에 분양 ID를 입력하면 해당쪽으로 이동이 되었는데 우리 server에서는 전혀 작동하지 않는것이다. 

demo site에서의 작동의 예
 http://domain.co.kr/분양id

이렇게 입력을 하게 되면 분양을 받은 사람한테 링크가 되는 방식이다. 그런데 우리 server에 와서 작동시켜보니 제대로 동작하지 않았다. 보통 domain 뒤에 붙는 경로는 file 아니면 folder여서 분양id의 folder를 찾아봤는데 없었다. 좀 더 세부적으로 검색해보니 site라는 folder안에 분양id들이 들어가 있었다. 그렇다면

우리측 site에서의 작동의 예
 http://domain.co.kr/site/분양id

이렇게 입력을 하니 분양id쪽으로 이동되는것이 아닌가!

그렇다면 서버단에서 URL을 적절하게 변경해서 이동시켜준다라는 결론이 나왔고 그래서 최초 VirtualHost 설정을 확인하였고, 계속해서 알아본 결과 유동포워딩이라는 keyword가 포착되었고 그 부분을 살펴보니 내가 요구하는 부분과 반정도는 일치하였다. 그래서 계속해서 검색해본 결과 .htaccess file을 통해 URL을 변경 할 수 있는 방법이 있었다.

그렇다면,

기존경로를
 http://domain.co.kr/site/분양id

다른 형태의 경로로 설정을 해줘야한다.
 http://domain.co.kr/분양id

우선 .htaccess file을 이용해 제어할 수 있는걸 찾아내었다. 이 file을 http://domain.co.kr에 해당하는 경로에 생성을 하고 다음과 같은 내용을 작성해주면 된다.
 RewriteEngine On
 RewriteRule ^([a-zA-Z0-9]+)$ /home/***/***/site/$1/

^([a-zA-Z0-9]+)$
이것은 정규표현식인데 아직 공부가 부족하여 이것까지는 잘 모른다. 추후에 업데이트 예정

그래서 browser의 주소 입력창에 http://domain.co.kr/분양id를 입력하게 되면 server는 http://domain.co.kr에 해당하는 경로로 찾아 들어가게 된다. 이 때 이 경로안에 .htaccess file이 존재하게 되면 읽어 들여 해당 option을 실행하게 됩니다. 그러면 상단에 만든 .htaccess file의 option대로 해당하는 경로의 주소의 접근 folder를
 /home/***/***/site/$1/

으로 변경하게 된다. 이 때 $1은 분양id를 나타낸다.

결국 

http://domain.co.kr/분양id를 입력하게 되면 /home/***/***/분양id/를 참조하는 것이 아니라
/home/***/***/site/분양id/를 참조하는 것이다.

참고

만일 .htaccess file을 해당 경로에 작성하였는데 작동되지 않는다면 
server 환경 설정 file(httpd.conf)을 열어보면
 <Directory />
    AllowOverride none
</Directory>

로 설정되 있을 것이다. 그렇다면 none을 All로 변경하고 저장한 후에 Server를 재시작 해주면 된다.^^