서브도메인 구축(?) 방법 채택완료
위 링크의 질문 연장선이지만, 제가 머릿속에서 생각한 것이 글로 표현이 제대로 안된것 같아서 다시 요점만 간략하게 정리하여 드립니다.
[서브도메인을 이용하여 페이지 구성]
(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'];</p>
<p>// 'abc'가 도메인 이름에 포함되어 있는지 확인
if (strpos($domain, 'abc') !== false) {
echo "'abc'가 도메인에 포함되어 있습니다.";
} else {
echo "'abc'가 도메인에 포함되어 있지 않습니다.";
}
댓글을 작성하려면 로그인이 필요합니다.
방법을 다 설명드리는건 아닌거 같고
content정보는 각각 경로에 넣어둡니다. 기본경로에는 당연히 메인(index)가 들어갈테구요
content경로변수를 하나 만들어서 기본경로를 지정합니다.
먼저 $_SERVER['HTTP_HOST'];
를 이용해서 도메인을 가져옵니다.
그다음 변수에 담은 도메인이 서브도메인이 아닌 메인도메인 여부를 판별하여
기본값(메인도메인)에 content의 경로/파일정보를 넣습니다.
그외에 서브도메인은 각각의 서브도메인이 있을테니
explode를 이용해서 메인도메인값으로 잘라냅니다.
나머지가 서브도메인 명이 될테니
business 경로 하위에 서브디렉토리혹은 파일명을 이용해서
content경로변수에 넣습니다.
index.php, head.php, tail.php 등등 기본값을 그대로 다 유지하고
content를 위치할 자리에만
include_once(contetn경로변수);
를 지정하빈다.
이렇게 하면 경로/파일을 서브디렉토리용으로 만드는건 content 경로 이외에는 만들지 않아도됩니다.
답변에 대한 댓글 2개
다른 질문의 답변에도 답을 드렸듯이
도메인과 /웹서버에서 같은 디렉토리를 바라보게했으면
두개의 도메인이 동일한 내용이 나오는게 우선이고
HTTP_HOST에서 체크된 Domain의 정보를
메인도메인인지 서브도메인인지 판단해서
해당 content경로를 include하게 하면됩니다.
G5_PATH는 동일한 경로를 나타내야 정상이고
$content_path (임의로 만든변수) 변수에는 서브도메인에 따라서 분기시키는 경로가 들어가게 해서
해당 내용이
include_once(G5_PATH.$content_path."/추가할파일.php");
와 같은 패턴으로 보여지게 하셔야죠
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
<?php
include_once('./_common.php');
define('_INDEX_', true);
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
include_once(G5_PATH.'/head.php');
?>