[호스팅]
(한달에 500원로 도메인 호스팅 3개를 쓰는 법) iwinv 에서 여러 도메인을 웹호스팅 하나에서 서비스하기 (그누보드)
하우코드
본문
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 "<script>document.location='http://aaa.kr/aaa/';</script>";
exit;
}
if (stristr('bbb.kr',$_SERVER['SERVER_NAME'])) {
include "bbb/main.php";
//echo "<script>document.location='http://bbb.kr/bbb/';</script>";
exit;
}
그냥 단순히 http://aaa.kr/aaa/ 로 이동하게 해도 되지만.
/aaa/main.php 를 생성해서 처리 하면 그냥 aaa.kr 로도 서비스가 된다.
main.php 내용은 다음과 같다 (그냥 폴더위치를 변경해서 index.php 호출)
<?php
chdir(dirname(__FILE__));
include "index.php";
?>
각종 링크 주소가 aaa.kr/aaa/bbs/board.php 식으로 /aaa/ 가 따라 붙는데
이것을 막으려면 .htaccess 를 수정해야한다. (각 폴더에도 /aaa/.htaccess 가 있지만
/.htaccess 를 다음과 같이 수정해서 각 도메인별로 다르게 처리 되게 해야한다
<ifmodule mod_rewrite.c>
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]
</ifmodule>
---------------------------------------------
아래는 동작안된다.
<ifmodule mod_rewrite.c>
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]
</ifmodule>
도메인별로 경로가 다르면 문제가 없는데 경로가 / 로 고정이 되어 있어서 여러 도메인을 서비스 하나로 하기 위해서는 처리가 필요하다.
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 "<script>document.location='http://aaa.kr/aaa/';</script>";
exit;
}
if (stristr('bbb.kr',$_SERVER['SERVER_NAME'])) {
include "bbb/main.php";
//echo "<script>document.location='http://bbb.kr/bbb/';</script>";
exit;
}
그냥 단순히 http://aaa.kr/aaa/ 로 이동하게 해도 되지만.
/aaa/main.php 를 생성해서 처리 하면 그냥 aaa.kr 로도 서비스가 된다.
main.php 내용은 다음과 같다 (그냥 폴더위치를 변경해서 index.php 호출)
<?php
chdir(dirname(__FILE__));
include "index.php";
?>
각종 링크 주소가 aaa.kr/aaa/bbs/board.php 식으로 /aaa/ 가 따라 붙는데
이것을 막으려면 .htaccess 를 수정해야한다. (각 폴더에도 /aaa/.htaccess 가 있지만
/.htaccess 를 다음과 같이 수정해서 각 도메인별로 다르게 처리 되게 해야한다
<ifmodule mod_rewrite.c>
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]
</ifmodule>
---------------------------------------------
아래는 동작안된다.
<ifmodule mod_rewrite.c>
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]
</ifmodule>
댓글목록
등록된 댓글이 없습니다.