본문 바로가기

blog/xe

www가 붙는 도메인과 그렇지 않은 도메인 하나로 처리하기

도메인에 www가 붙는경우와 그렇지 않은 경우에 따라 상황이 다르게 발생하는 경우가 있다.

아무튼 그런 상황이 발생해서 두개의 도메인 형태를 하나로 통일해서 사용하고자 할때 아래 팁이 유용하다.

예를들면, http://www.inyeon.net 과 http://inyeon.net 의 도메인 모두를
 http://www.inyeon.net 으로 접근하게 할려고 할때,

  /** 도메인 접속을 www를 붙혀서 처리하고자 할때*/  
  if(substr($_SERVER[HTTP_HOST],0,3) != "www")   
  {   
   header("location:http://www.$_SERVER[HTTP_HOST]");   
  }
 

이런 소스를 제로보드 index.php 파일 상단에 넣어 준다.

아래는 위 소스를 넣은 예제이다. 어디다 넣어야 할지 위치를 잘 모르시는 분이 계실것 같아서...

 <?php   
    /**  
     * @file  index.php  
     * @author zero (zero@zeroboard.com)  
     * @brief 시작 페이지  
     *  
     * zeroboard XE의 시작 페이지  
     *  
     * Request Argument에서 mid, act로 module 객체를 찾아서 생성하고 \n  
     * 모듈 정보를 세팅함  
     *  
     * @mainpage 첫페이지  
     * @section intro 소개  
     * zeroboard XE 는 오픈 프로젝트로 개발되는 오픈 소스입니다.\n  
     * 자세한 내용은 아래 링크를 참조하세요.  
     * - 공식홈페이지        : http://www.zeroboard.com  
     * - 오픈프로젝트 사이트 : http://spring.zeroboard.com  
     * - 이슈트래킹          : http://trac.zeroboard.com  
     * - SVN Repository      : http://svn.zeroboard.com/zeroboard_xe/trunk  
     * - document            : http://doc.zeroboard.com  
     * - pdf 문서            : http://doc.zeroboard.com/zeroboard_xe.pdf  
     * \n  
     * \n  
     * Copyright (C) 2007년 고영수(skklove@gmail.com) \n  
     * \n  
     * "Zeroboard™ XE"는 자유 소프트웨어입니다. \n  
     * 소프트웨어의 피양도자는 자유 소프트웨어 재단이 공표한 GNU 일반 공중 사용 허가서 2판 또는 \n  
     * 그 이후 판을 임의로 선택해서, 그 규정에 따라 프로그램을 개작하거나 재배포할 수 있습니다. \n  
     * \n  
     * 이 프로그램은 유용하게 사용될 수 있으리라는 희망에서 배포되고 있지만, 특정한 목적에 맞는 적합성 \n  
     * 여부나 판매용으로 사용할 수 있으리라는 묵시적인 보증을 포함한 어떠한 형태의 보증도 제공하지 않습니다. \n  
     * 보다 자세한 사항에 대해서는 GNU 일반 공중 사용 허가서를 참고하시기 바랍니다. \n  
     * \n  
     * GNU 일반 공중 사용 허가서는 이 프로그램과 함께 제공됩니다. 만약, 이 문서가 누락되어 있다면 자유 소프트웨어\n  
     * 재단으로 문의하시기 바랍니다. \n  
     * (자유 소프트웨어 재단: Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA)   
     **/  
  
  /** 도메인 접속을 www를 붙혀서 처리하고자 할때*/  
  if(substr($_SERVER[HTTP_HOST],0,3) != "www")   
  {   
   header("location:http://www.$_SERVER[HTTP_HOST]");   
  }
 

그리고 반대로

http://www.inyeon.net 과 http://inyeon.net 두개 모두를 http://inyeon.net 으로 통일하려고 할때는,

   /** 도메인 접속을 www를 붙혀서 처리하고자 할때*/  
 if(substr($_SERVER[HTTP_HOST],0,3) == "www")   
  {   
   $no_www =substr($_SERVER[HTTP_HOST],4);   
   header("location:http://$no_www");   
  }

이렇게 하면된다.



원본출처 : http://www.zeroboard.com/16419071




- 2008년 08월 27일 작성.