하나의 그누보드5에 다중(멀티)사이트 구성방법에 대해 재 질문드립니다.
본문
별것 아닌데 제목이 좀 거창하군요.^^
제목에 있듯이
하나의 그누보드5(영카트5 포함)에 성격이 다른 다중(멀티)사이트 구성을 하려고 합니다.
구성은
예로
- 회원공통
- 커뮤니티A
- 커뮤니티B
- 커뮤니티C
:
- 쇼핑몰
와 같은 형태로 할 경우입니다.
하나의 그누보드5를 설치하여 구성을 하다보니
- head
- tail
- 각 커뮤니티별 게시판
등이 각각 구성이 되어야 하겠구요.
현재 간단하게 나름대로 구현, 테스트를 아래와 같이 해 봤습니다.
1. ./index.php
<a href="<?php echo G5_URL;?>/?gubun=commA">커뮤니티A | </a>
<a href="<?php echo G5_URL;?>/?gubun=commB">커뮤니티B | </a>
<a href="<?php echo G5_URL;?>/?gubun=commC">커뮤니티C | </a>
<a href="<?php echo G5_URL;?>/shop/">쇼핑몰</a>
와 같이 링크를 지정했습니다.
2. ./common.php
// gubun 세션저장
if($_GET['gubun']) {
set_session('ss_gubun', $_GET['gubun']);
}
//
gubun세션을 저장 추가
* common.php원본을 손대지 않기 위해 /extend/common.extend.php로 추가하여 위 코드를 지정하거나...
3. ./head.php
// gubun head 처리
$ss_gubun = get_session('ss_gubun');
if($ss_gubun == 'commA') {
include_once(G5_PATH.'/head_A.php');
return;
}elseif($ss_gubun == 'commB') {
include_once(G5_PATH.'/head_B.php');
return;
}elseif($ss_gubun == 'commC') {
include_once(G5_PATH.'/head_C.php');
return;
}
//
tail도 위와 동일하게 처리
head_A.php ~ head_C.php
tail_A.php ~ tail_C.php
은 각각 head.php와 tail.php를 복사하여 각각에 맞게 메뉴 구성
세션을 사용한 이유는
커뮤니티A에 머물고 있는 상태에서는 head부분이 head_A가 표시가 되어야 하고
커뮤니티B, 커뮤니티C도 각각 head부분이 head_B, head_C가 표시가 되도록 하기 위함입니다.
각각의 커뮤니티에 해당하는 게시판들은 메뉴에 지정을 하기 때문에
세션이 다른 커뮤니티로 전환이 되기 전까지는 계속하여 현재 표시되는 head,tail정보하에 표시가 되기 때문에
문제가 없는 듯 싶습니다.
쇼핑몰은 별도로 /shop/으로 가기 때문에 전혀 문제가 없는 듯 싶구요.
세션 값은 logout이 되면 모두 clear가 되고 index.php의 커뮤니티 선택 표시가 됩니다.
장황하게 설명을 한 점 죄송합니다.
※결론적으로 질문을 드리면
제 나름대로 생각하여 순간적으로 구성을 하다보니 제대로 구성을 하고 있는 것인지
어느 부분에 문제가 있을지 조언을 얻고자 합니다.
이러한 구성이 아닌 좀더 편리하거나 안정적인 처리방법이 있으시면 또한 조언 부탁 드립니다.
* 다른 방법으로는 각 커뮤니티별로 서브디렉토리에 그누보드5를 각각 설치하여 회원만 공유하면
좀 더 심플한데 유지보수나 공간문제등이 고민 스럽더군요.^^
(fear님과 메이드님이 조언을 주신것을 참고)
많은 조언 부탁 드립니다.
감사합니다.
답변 3
파라미터 구분으로 처리 하기에는 문제가 있을꺼같고
서브 도메인 단위로 커뮤니티를 나눈다면 한디렉토리에서 처리할수있을꺼같습니다.
위에 말씀하신대로 서브디렉토리 별로 커뮤니티 를 구성한다면 별도로 파일수정은 따로 안해도 댈꺼같구요.
앗 저도 파라미터로 구현중인데.. 문제가 없을까 모르겠습니다