PHP로 서브도메인 관리 > php

본문 바로가기
사이트 내 전체검색

php

PHP로 서브도메인 관리

페이지 정보

작성자 서방님 댓글 0건 조회 160회 작성일 15-09-22 10:36

본문

오늘은 PHP로 서브도메인을 관리할 수 있는 방법에 대해서 말씀드려볼까 합니다.

 

(솔직히 이 부분은 php tip이라고 말씀드리기도 그렇고 apache나 linux tip 이라고 말씀드리기도 조금 곤란하지만^^;)

 

 

 

 

사이트 주소를 www.example.co.kr 이라고 예를 들어봅시다.

그렇다면 www는 서브 도메인이 됩니다.

 

기본적으로 CNAME은 www만 추가되어있을 것 이고 모두 example.co.kr 을 가리키고 있을 것 입니다.

 

서버측에서 CNAME의 www를 *로 변경하면 어떤 서브주소가들어와도 example.co.kr으로 접속이되게 됩니다.

예를 들자면

sub1.example.co.kr

sub2.sub1.example.co.kr

sub3.sub2.sub1.example.co.kr

 

위 모두가 example.co.kr으로 접속이 되게 되는것 입니다.

 

그렇다면 sub1.example.co.kr과  sub2.sub1.example.co.kr 이 둘은 어떻게 구분하는지 확인해 보겠습니다.

$_SERVER의 배열 중에 HTTP_HOST라는 것이 있습니다. 이는 클라이언트가 사이트를 접속당시 사용했던 호스트가 되겠는데요.

$_SERVER['HTTP_HOST']라고 불러들일 수 있곘습니다.

 

그리고 sub1.example.co.kr중에 sub1을 구분하는 법은 아래와 같습니다.

ereg ("^([-._a-zA-Z0-9]+[.]{0,1}).example.co.kr", $_SERVER['HTTP_HOST'], $suburl);

위의 절차를 거치게되면 $suburl 변수를 통해 sub1을 얻으실 수 있을 것 입니다.

 

그럼 이를 db나 switch나 if문을 통해서 구분해 접속할 수 있을 것입니다.

예를들어

 

function url1go()

{

  include "./inc/sub1.htm";

}

function url2go()

{

  include "./inc/sub2.htm";

}

 

switch($suburl)

{

      case "sub1": url1go();

                         break;

      case "sub2.sub1": url2go();

                         break;

}

 

를 통해서 사이트를 구분할 수 있을 것 입니다.

 

 

 

위에서 말씀드린 내용은 주소가 영어일때만 가능하게 됩니다.

왜냐하면 url에는 한글이들어갈 수 없기 떄문입니다. 하지만 한국에서는 한글주소가 몇몇 있습니다.

이는 모두 Punycode를 사용한 방법일 것입니다.

Punycode는 예를들어 가나다.example.co.kr 라고 접속했을때 한글 문자를 --x306o2352x0.example.co.kr 이런식으로 변환시켜주는 동작을 합니다.

 

Punycode를 이용해서 한글 서브주소를 설정하는법은 아래와 같습니다.

우선은 idna_convert.class.php (첨부) 파일이 필요합니다. 이 파일이 위와같이 Punycode로 인코딩된 내용을 디코딩해 주게 됩니다.

 

 require_once('./idna_convert.class.php');
 $IDN = new idna_convert();
 $_SERVER['HTTP_HOST'] = $IDN->decode($_SERVER['HTTP_HOST']);

위 코드를 처음에 말씀드렸던 소스 switch문이나 if문 db검색문 위에 올려두시면 됩니다.

 

 

 

 

 

아직 혼자 배우고있는 상황이라 저도 정확히 알지는 못합니다 ^^..

사이트를 운영하시는 분들께 조금이나마 도움이되었으면 합니다.

참고사이트는 http://link.up7.kr 입니다.

 

다음에는 Apache의 .htaccess을 통해서 파일 및 폴더가 누락되었을때의 처리 그리고 이미지 및 동영상 유출방지법, 마지막으로 Basic 인증에 대해서 말씀드리겠습니다.

 

좋은하루되세요!

첨부파일

댓글목록

등록된 댓글이 없습니다.

Total 612건 19 페이지
게시물 검색

회원로그인

접속자집계

오늘
80
어제
163
최대
1,347
전체
154,614
Latest Crypto Fear & Greed Index

그누보드5
Copyright © 서방님.kr All rights reserved.