본문 바로가기

Creation/Programming

[PHP] 접속 도메인에 따라 같은 IP주소로 연결해도 다른 페이지 보여주기




  네임서버를 이용할 때 기본적으로 한개의 네임서버는 어느 한개의 IP주소로 연결이 된다. 예를 들면 www.readiz.com과 about.readiz.com이 있다고 하면, 두 주소 모두 IP주소를 가지고 있고 그 IP주소로 연결이 된다는 것이다. 그렇기 때문에 얼핏보기에는 같은 IP주소로 연결되는 도메인이 있다면 같은 페이지가 보일 것이라 생각된다. 하지만 약간의 꼼수를 부린다면 같은 IP주소로 연결되더라도 다른 페이지를 보여줄 수 있다. 코드를 보면,



1
2
3
4
5
6
<?php
  if ($_SERVER['SERVER_NAME'] == "about.readiz.com") {
    include 'about.php';
  } else {
    include 'default.php';
?>



  바로 $_SERVER['SERVER_NAME'] 를 이용한 꼼수 되시겠다. 현재 http://www.readiz.com과 http://about.readiz.com에 적용된 사항이기도 한데, $_SERVER['SERVER_NAME']을 이용하면 접속한 도메인을 알 수가 있고, 각기 다른 페이지를 include하는 것이 가능하다. 즉, 기본적으로 같은 페이지를 보여야 할 페이지가 서로 다른 페이지를 보여줄 수 있도록 조작이 가능하다는 이야기이다. 이를 활용하면, 모바일 페이지인 http://m.xxxxxx.com/ 으로 접속했을 때 같은 IP로 연결해도 다른 모바일용 페이지를 보여줄 수 있는 것 또한 가능하다. 현재 http://m.readiz.com/ 은 이와 같은 방법은 아니고, 티스토리 계정을 하나 더 연결해 Redirect하도록 하고 있다. 웹호스팅 업체를 사용하지 않고 Tistory를 바로 도메인에 연결시킨 경우, m.xxx.com을 Tistory의 다른 블로그에 연결시킨 후, 자신의 블로그의 모바일 페이지로 Redirect시키면 된다는 이야기이다.



  비싼 돈 주고 도메인을 구입해놓고도 연결되는 IP주소가 한개여서 곤란했던 분들에게 팁을 드리고자 이 글을 쓴다. 네임서버 이제 마음대로 쓰자.