사이트 내 전체검색
[호스팅] (한달에 500원로 도메인 호스팅 3개를 쓰는 법) iwinv 에서 여러 도메인을 웹호스팅 하나에서 서비스하기 (그누보드)
하우코드
https://cmd.kr/server/1150 URL이 복사되었습니다.

본문

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,139 (1/23P)

Search

Copyright © Cmd 명령어 3.141.47.163