DB 하나로, 싸이트 2~3개로 작업할 수 있나요?
본문
혼자 작업 하고 연습하려고 해보는 거라.. 물어봅니다..
현재, heidiSQL이랑 XAMPP 쓰고 있구요.
가상의 서버 만드는 정도 알고 있습니다.
연습하고 공부할 DB가 있는데,
이것을 어떻게 분배를 해야하는건가요..? 아니면 뭘 참조해야하는건가요..
음.. 기본 싸이트 대상을 test.com 이라하면, 저걸 적으면 본 싸이트가 뜨는거고.
test1.com, test2.com, test3.com 이런식으로 나눠서 화면상 보이는 싸이트 이름이나 목록 등등
이런걸 수정해서 띄어보고 싶거든요..
htdoc 폴더에 test1 / test2 / test3 이렇게 일단 만들긴 했는데.. 그 다음을 어떻게 손을 대야할 지 모르겠습니다.
답변 2
※ 하나의 DB로 여러 사이트를 운영하는 것- 가능
~~ 각 사이트별로 테이블 이름을 구분 - 접두어 사용
~~ 동일한 테이블 구조를 사용하되 특정 사이트의 DB가 식별될 수 있도록
= = 컬럼을 추가 = =
♠ 구체적으로 보자면;
!. test_users
,test1_users
, test2_users
같은 방식으로
동일한 구조의 테이블을 사이트별로 다르게 사용
>> test_
, test1_
, test2_
같은 접두사를 붙여 테이블 이름을 구분할 수 있음
!. 사용하는 테이블은 하나;
domain_name
컬럼으로 'test.com', 'test1.com', 'test2.com' 이와 같이 도메인을 구분해 데이터 처리
!. test
, test1
, test2
폴더를 나누셨으니, 각 폴더에 index 파일을 넣고, 사이트별로 코드를 구성
-- htdocs/test/index.php
는 test.com
과 연결
-- htdocs/test1/index.php
는 test1.com
과 연결
-- htdocs/test2/index.php
는 test2.com
과 연결
!. XAMPP에서 각 도메인에 맞게 (가상) 호스트 설정
~~ C:\Windows\System32\drivers\etc\hosts
127.0.0.1 test.com
127.0.0.1 test1.com
127.0.0.1 test2.com
--
apache/conf/extra/httpd-vhosts.conf
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test"
ServerName test.com
ErrorLog "logs/test-error.log"
CustomLog "logs/test-access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test1"
ServerName test1.com
ErrorLog "logs/test1-error.log"
CustomLog "logs/test1-access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/xampp/htdocs/test2"
ServerName test2.com
ErrorLog "logs/test2-error.log"
CustomLog "logs/test2-access.log" common
</VirtualHost>
♣ 각각의 사이트에 맞는 설정 파일, 템플릿 ;
-- 설정 파일을 분리해 관리
-- 공통적으로 사용하는 코드 하에, 조건문으로 구분
!-->!-->.htaccess 제어방법
RewriteEngine On
# 도메인별 하위폴더로 연결
RewriteCond %{HTTP_HOST} ^(test1\.com)$
RewriteRule ^$ /test1/ [L]
RewriteCond %{HTTP_HOST} ^(test2\.com)$
RewriteRule ^$ /test2/ [L]
RewriteCond %{HTTP_HOST} ^(test3\.com)$
RewriteRule ^$ /test3/ [L]