(한달에 500원로 도메인 호스팅 3개를 쓰는 법) iwinv 에서 여러 도메인을 웹호스팅 하나에서 서비스하기 (그누보드)

페이지 정보

profile_image
작성자 하우코드
댓글 0건 조회 994회 작성일 22-08-04 13:06

본문

iwinv 저가 웹호스팅 서비스 중에서 3개 도메인이 지정가능하고, DB는 하나로 쓰는 정책이 있다.
도메인별로 경로가 다르면 문제가 없는데 경로가 / 로 고정이 되어 있어서 여러 도메인을 서비스 하나로 하기 위해서는 처리가 필요하다.

1. aaa.kr bbb.kr ccc.kr 이렇게 3개의 도메인을 연결하고
2. 각각 폴더를 /aaa /bbb/ /ccc 에 그누보드를 설치한다.
3. 설치시 DB명은
g5_ 대신에 g5aaa_ g5bbb_ g5ccc_ 이렇식으로 도메인별로 앞에 붙는 이름이 다르게한다.
DB는 하나이기 때문에 이름을 다르게 해서 구별한다.
4. 각각 도메인은
aaa.kr/aaa/index.php bbb.kr/bbb 이런식으로 지정이 가능하지만
aaa.kr/index.php 또는 그냥 aaa.kr 로 이동하면 바로 aaa.kr/aaa/ 로 이동하게 만들려면
/index.php 를 다음과 같이 만든다.. 각각 도메인의 index.php 는 /aaa/index.php 등 각각 폴더에 있다.

index.php 내용은 다음과 같다
if (stristr('aaa.kr',$_SERVER['SERVER_NAME'])) {
include "aaa/main.php";
//echo "";
exit;
}
if (stristr('bbb.kr',$_SERVER['SERVER_NAME'])) {
include "bbb/main.php";
//echo "";
exit;
}

그냥 단순히 http://aaa.kr/aaa/ 로 이동하게 해도 되지만.
/aaa/main.php 를 생성해서 처리 하면 그냥 aaa.kr 로도 서비스가 된다.
main.php 내용은 다음과 같다 (그냥 폴더위치를 변경해서 index.php 호출)

chdir(dirname(__FILE__));
include "index.php";
?>

각종 링크 주소가 aaa.kr/aaa/bbs/board.php 식으로 /aaa/ 가 따라 붙는데
이것을 막으려면 .htaccess 를 수정해야한다. (각 폴더에도 /aaa/.htaccess 가 있지만
/.htaccess 를 다음과 같이 수정해서 각 도메인별로 다르게 처리 되게 해야한다





RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} aaa.kr$ [NC]
RewriteCond %{REQUEST_URI} !^/aaa
RewriteRule ^(.*)$ /aaa/$1 [L]

RewriteCond %{HTTP_HOST} ^bbb.kr$ [NC]
RewriteCond %{REQUEST_URI} !^/bbb
RewriteRule ^(.*)$ /bbb/$1 [L]


소스에서 /aaa/config.php 중에

define('G5_DOMAIN', 'https://aaa.kr');

로 지정해두면 G5_URL 이 / 로 정상 작동된다 (안하면 https://aaa.kr/aaa 로 된다.)


이렇게 하면 $urlencode 버그로 이상하게 되므로,,

define('G5_DOMAIN', '');  <- 빈칸으로 두고

define('G5_URL', 'https://aaa.kr'); <-  이렇게 g5_url 을 강제로 지정하는게 편함






---------------------------------------------
아래는 동작안된다.


RewriteEngine on

RewriteCond %{HTTP_HOST} ^aaa.kr$
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^index\.php$ aaa/main.php [L]

RewriteRule ^content/([0-9a-zA-Z_]+)$ aaa/bbs/content.php?co_id=$1&rewrite=1 [QSA,L]
RewriteRule ^content/([^/]+)/$ aaa/bbs/content.php?co_seo_title=$1&rewrite=1 [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$ aaa/bbs/rss.php?bo_table=$1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$ aaa/bbs/board.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ aaa/bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$ aaa/bbs/write.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$ aaa/bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1 [QSA,L]


RewriteCond %{HTTP_HOST} ^bbb.kr$
#RewriteCond %{HTTPS} !=on
#RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^index\.php$ bbb/main.php [L]

RewriteRule ^content/([0-9a-zA-Z_]+)$ bbb/bbs/content.php?co_id=$1&rewrite=1 [QSA,L]
RewriteRule ^content/([^/]+)/$ bbb/bbs/content.php?co_seo_title=$1&rewrite=1 [QSA,L]
RewriteRule ^rss/([0-9a-zA-Z_]+)$ bbb/bbs/rss.php?bo_table=$1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)$ bbb/bbs/board.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([^/]+)/$ bbb/bbs/board.php?bo_table=$1&wr_seo_title=$2&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/write$ bbb/bbs/write.php?bo_table=$1&rewrite=1 [QSA,L]
RewriteRule ^([0-9a-zA-Z_]+)/([0-9]+)$ bbb/bbs/board.php?bo_table=$1&wr_id=$2&rewrite=1 [QSA,L]

댓글목록

등록된 댓글이 없습니다.