서브도메인 구축(?) 방법
본문
위 링크의 질문 연장선이지만, 제가 머릿속에서 생각한 것이 글로 표현이 제대로 안된것 같아서 다시 요점만 간략하게 정리하여 드립니다.
[서브도메인을 이용하여 페이지 구성]
(1) 대표도메인, 서브도메인 모두 같은 회원/DB 테이블 사용
(2) 서브도메인 만들어놓음 (<?php phpinfo(); ?> 정상적으로 나옴)
(3) 게시판 및 멤버십 사용 안함, DB 사용안함
(4) 1개의 관리자에서 운용
abcd.com 에서 사용하는 header.sub.php, header.php, tail.sub.php, tail.php 를 사용하되
business.abcd.com 접속시 내용(content) 섹션만 변경되길 원함.
-: abcd.com 구성
└ root
├ adm
├ bbs
├ css
├ data
├ extend
├ img
├ install
├ js
├ lib
├ mobile
├ plugin
├ skin
├ theme
└ business 폴더
├ ????
├ ????
└ ????
※ 2개의 그누보드를 설치하는것은 아님.
※ 독립적으로 운영하지 않음.
답변 3
그누위즈님 답변에 더해서 조건식 안내드리면 이런식으로 하면 될거같습니다
// 현재 도메인 이름을 가져옴
$domain = $_SERVER['HTTP_HOST'];
// 'abc'가 도메인 이름에 포함되어 있는지 확인
if (strpos($domain, 'abc') !== false) {
echo "'abc'가 도메인에 포함되어 있습니다.";
} else {
echo "'abc'가 도메인에 포함되어 있지 않습니다.";
}
우선 설명으로 다 알려드리긴 방대하여 간략하게 말씀드리자면,
현재 짜놓으신 구조로는
내용을 도메인별로 다르게 보여주고싶다. 인듯합니다.
도메인을 구분해서, 접속 도메인을 확인하시어
php 조건문으로
기본 = index.php
서브도메인 = business.index.php
파일을 불러오게 하시면 될겁니다.
방법을 다 설명드리는건 아닌거 같고
content정보는 각각 경로에 넣어둡니다. 기본경로에는 당연히 메인(index)가 들어갈테구요
content경로변수를 하나 만들어서 기본경로를 지정합니다.
먼저 $_SERVER['HTTP_HOST'];
를 이용해서 도메인을 가져옵니다.
그다음 변수에 담은 도메인이 서브도메인이 아닌 메인도메인 여부를 판별하여
기본값(메인도메인)에 content의 경로/파일정보를 넣습니다.
그외에 서브도메인은 각각의 서브도메인이 있을테니
explode를 이용해서 메인도메인값으로 잘라냅니다.
나머지가 서브도메인 명이 될테니
business 경로 하위에 서브디렉토리혹은 파일명을 이용해서
content경로변수에 넣습니다.
index.php, head.php, tail.php 등등 기본값을 그대로 다 유지하고
content를 위치할 자리에만
include_once(contetn경로변수);
를 지정하빈다.
이렇게 하면 경로/파일을 서브디렉토리용으로 만드는건 content 경로 이외에는 만들지 않아도됩니다.