| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
천재태지서주영 카페 관리자
가입: 2003년 10월 5일 올린 글: 32
|
올려짐: 2003.10.30 목, 11:16 pm 주제: 포워딩 서비스를 하려고 하는데 방법이 궁금합니다. |
|
|
안녕하세요? 포워딩 서비스를 하는데 어떤 방법으로 해야할지 고민중에 질문 드립니다.
지난번에 Rewrite 모듈은 잘 배웠습니다 ^^
제가 하려고 하는건 wo.to 나 ce.ro 처럼
http://wkehdck.wo.to
http://sby0818.wo.to
이런식으로 사용자들이 원하는 부분을 도메인 앞에 붙여서 포워딩을 해주고 싶습니다.
제가 wo.to 를 IP 11.22.33.44 에서 서비스한다고 치고 사용자가 abc.wo.to 라고 하면
이걸 my.netian.com/~abc 이런식으로 포워딩해주고 싶습니다.
우선 DNS 는 돌아가고 있고 DNS zone 파일에
abc IN A 11.22.33.44
라고 추가하면 되는건 알겠습니다.
그런데 Apache 에서 Virtual Host 로 받아서 저걸 처리해야 하는데 여기서 막히는군요.
Apache 메뉴얼을 보고 RewriteCond 를 사용해서 하려고 했는데 잘 안되네요.
<VirtualHost *>
ServerAdmin seoz@seoz.com
DocumentRoot /home/seoz/public_html
ServerName wo.to
ServerAlias wo.to *.wo.to
ErrorLog logs/wo.to-error_log
CustomLog logs/wo.to-access_log common
RewriteCond %{HTTP_HOST} ^[^.]+\.wo\.to$
RewriteRule ([^.]+)\.wo\.to(.*) /home/seoz/public_html/test.php?value=$1
</VirtualHost>
뭐 이런식으로도 해보고... 약간씩 변경해서 해봤는데 전혀 안되네요 -_-;;;
어떻게 해야하는지 조언부탁드립니다.
제가 원하는건 abc.wo.to 를 치면 그 서버의 /home/seoz/public_html/test.php 이 경로로 가서
value 에 따라서 포워딩 해주는 곳을 php 로 지정하는건데,
이 방법이 옳은건지...
아니면 DNS 나 Apache 차원에서 처리가 가능한지도 궁금합니다. _________________ 안녕하세요? 반갑습니다. |
|
| 위로 |
|
 |
truefeel 카페 관리자
가입: 2003년 7월 24일 올린 글: 1277 위치: 대한민국
|
올려짐: 2003.10.31 금, 12:03 am 주제: Re: 홈페이지 포워딩 서비스 |
|
|
| 천재태지서주영 씀: | 안녕하세요? 포워딩 서비스를 하는데 어떤 방법으로 해야할지 고민중에 질문 드립니다.
지난번에 Rewrite 모듈은 잘 배웠습니다 ^^
제가 하려고 하는건 wo.to 나 ce.ro 처럼
http://wkehdck.wo.to
http://sby0818.wo.to
이런식으로 사용자들이 원하는 부분을 도메인 앞에 붙여서 포워딩을 해주고 싶습니다.
제가 wo.to 를 IP 11.22.33.44 에서 서비스한다고 치고 사용자가 abc.wo.to 라고 하면
이걸 my.netian.com/~abc 이런식으로 포워딩해주고 싶습니다.
우선 DNS 는 돌아가고 있고 DNS zone 파일에
abc IN A 11.22.33.44
라고 추가하면 되는건 알겠습니다.
그런데 Apache 에서 Virtual Host 로 받아서 저걸 처리해야 하는데 여기서 막히는군요.
Apache 메뉴얼을 보고 RewriteCond 를 사용해서 하려고 했는데 잘 안되네요.
<VirtualHost *>
ServerAdmin seoz@seoz.com
DocumentRoot /home/seoz/public_html
ServerName wo.to
ServerAlias wo.to *.wo.to
ErrorLog logs/wo.to-error_log
CustomLog logs/wo.to-access_log common
RewriteCond %{HTTP_HOST} ^[^.]+\.wo\.to$
RewriteRule ([^.]+)\.wo\.to(.*) /home/seoz/public_html/test.php?value=$1
</VirtualHost>
뭐 이런식으로도 해보고... 약간씩 변경해서 해봤는데 전혀 안되네요 -_-;;;
어떻게 해야하는지 조언부탁드립니다.
제가 원하는건 abc.wo.to 를 치면 그 서버의 /home/seoz/public_html/test.php 이 경로로 가서
value 에 따라서 포워딩 해주는 곳을 php 로 지정하는건데,
이 방법이 옳은건지...
아니면 DNS 나 Apache 차원에서 처리가 가능한지도 궁금합니다. |
지금 wo.to, ce.ro 서비스를 이용하지 않기 때문에 자세히 알 수는 없지만
http://sby0818.wo.to 을 접속해본 결과 실제 내용은 다음과 같더군요.
| 코드: |
<title>dd</title>
<frameset rows=100%,* cols=1* border=0>
<frame src="http://www.crazyarcade.com">
<frame src="http://220.80.107.29/popup2.htm" noresize marginwidth=0 marginheight=0>
</frameset>
|
간단히 프레임을 쓴 것인데, 이런거라면 Rewrite Rule를 사용하지 않아도 될 듯 싶습니다.
index.php과 DB(어느 주소로 포워딩할 것인지 정보가 있는 DB)를 이용하면 쉽게 가능한 문제거든요.
index.php 내에서는 $_SERVER[HTTP_HOST] 환경변수에 도메인이 들어가 있으니 이걸 이용하세요.
sby0818.wo.to 이라면 sby0818 만 변수에서 분리해서 DB에 sby0818이 실제 어느 홈페이지정보를 알아낸후
위의 프레임 뿌리는대로 한다면 해결될 것 같습니다.
한 예를 들면 (체크하지 못한 부분도 있을지 모르니 참고 하세요.)
| 코드: |
$service_domain = "\.ce\.ro";
$host = $_SERVER[HTTP_HOST];
// ID만 골라냄
$id = preg_replace("/$service_domain$/i", "", $host);
$id = strtolower($id);
// 이런 경우는 원하는 도메인형식 아니거나 IP로 접속을 시도한 경우 등
if ( $host == $id ) {
...
}
DB에서 서비스 주소 알아내고, frame 뿌려주고...
|
음악을 사랑하는 천재태지서주영님 ^^ |
|
| 위로 |
|
 |
천재태지서주영 카페 관리자
가입: 2003년 10월 5일 올린 글: 32
|
올려짐: 2003.10.31 금, 9:35 am 주제: 와.. 감사합니다 |
|
|
truefeel 님 감사합니다 ㅡㅜ
아니 저렇게 간단한걸...
제가 괜히 복잡하게 생각했나보네요.
아파치의 가상호스트에 대한 이해가 부족했던것 같습니다.
ServerName 과 ServerAlias 때문에 그런지 하위 도메인이 달라도 모두 같은 곳으로 연결되는군요.
그걸 몰랐네요 ^^;;
한동안 골치 아팠는데 간단히 해결되니 아침부터 기분이 상쾌하고 좋네요 ^^
그런데요, truefeel, 좋은진호 두 닉네임을 쓰시는것 같은데 어떻게 불러야 되나요? ㅡㅡa _________________ 안녕하세요? 반갑습니다. |
|
| 위로 |
|
 |
천재태지서주영 카페 관리자
가입: 2003년 10월 5일 올린 글: 32
|
올려짐: 2003.10.31 금, 9:40 am 주제: 아.. 그리고 |
|
|
저는 DB 말고 파일 처리를 할까 생각했어요.
파일에서 읽어들이는것이 매번 DB 접속하는것 보다 낫지 않을까 생각해서요.
도메인의 첫글자마다 파일을 하나씩 둬서 php 에서 require 나 include 해서 변수를 읽는 방식인데요,
도메인 첫 글자가 a 라면 a.php 에 배열로
| 코드: | $domain = array(
"abcd"=>"11.22.33.44/index.php"
, "aha"=>"my.netian.com/aha"
);
|
이런식으로 하면 부하가 좀 덜나가지 않을까 해서 생각해봤습니다 ^^;
만약 a 에 포워딩이 많이 몰리면 a1.php, a2.php 처럼 순차적으로 읽는 방법도 생각해봤는데 실제로는 그런 경우가 발생할것 같지는 않네요.
혹시 이 방법이 문제가 있으면 지적 부탁드려요.
실무 경험이 부족하다보니 제가 생각한 방식이 괜찮은건지 실제로 써도 되는건지 많이 궁금하네요.
그럼 좋은 하루 보내세요~ _________________ 안녕하세요? 반갑습니다. |
|
| 위로 |
|
 |
truefeel 카페 관리자
가입: 2003년 7월 24일 올린 글: 1277 위치: 대한민국
|
올려짐: 2003.10.31 금, 11:12 am 주제: DB 처리가 나을 듯 |
|
|
개인적으로는 DB가 좋을 듯 싶습니다.
- a-z까지 영문과 숫자 등으로 시작하는 도메인 등을 비교하는 부분
- 그리고 a.php 등을 include 하는 부분
- 그리고 각각 a.php 등을 수정해야 하는 노고
저런 과정이 DB쓰면 필요없겠지요. 몇만 몇십만건이라면 뚝딱 처리될겁니다.
건수가 점점 늘어날수록 생각나는게 DB로 관리하는 것입니다.
만약 a... 도메인에서 b... 도메인으로 변경 신청이 올 경우
파일 2개를 직접 수정하실려구요? 이거 되게 귀찮을 겁니다.
건수가 많으면 더 하겠지요.
또한 통계 처리의 필요성을 느낄겁니다.
- 날짜별 신청수 통계
- a-z까지 도메인별 건수 통계
- 도메인별 메인화면 접속수 통계
(이거 index.php에서 포워딩할 때 그냥 DB에 counter컬럼 만들어 +1시키면 바로 나오겠지요.)
- 잘못된 주소로 접속한 건수 등
저런 통계 처리 무지 간단하게 해결될거라 생각됩니다.
----------------------------------------------------------------
좋은진호라 부르시면 될 듯. 이름 부르는게 편하잖아요.
truefeel는 ID로 쓰고 있고,
IRC나 메신저에서는 좋은진호를 쓰고 있습니다.
96년인가 IRC에서 '멋진놈'(이 양반 뭐하고 사나 몰라), '나쁜??' 등의 닉네임을 쓰시는 분들이 있었습니다.
그래서 나온게 '좋은진호'입니다. |
|
| 위로 |
|
 |
|