웹마스터 팁
page_full_width" class="col-xs-12" |cond="$__Context->page_full_width">
[진자 유용한] www 자동으로 붙여주기
2003.05.24 15:20
www 자동으로 붙여주기
임현 (byulkorea@empal.com) <- 질문하는건 좋으나 스팸메일 보내면.. 정말 x 다.
안녕하세요 Dopesoul 입니다. 고3이 된터라 그동안 강좌를 많이 못썼습니다^^;
그런데 요전에 알게된 좋은 팁인것같아 문서로 작성해 봅니다.
아무리 검색해도 보이질않더군요.
앞으로 강좌쓸때 교과서식으로 진행합니다^^; 목차 개요 목적 방법 결론 추신
등으로 진행됩니다.
경어체 , 존체는 생략하며 간단한 어투로 썼습니다. 도움되시길
유용했다면 추천한방 꾹 눌러주시고~
1. 목차
- Redirect 지시자의 이해
- 정규표현식의 간단한 이해
- www 를 붙여주는 목적
- www 를 자동으로 붙이는 방법
- 이로운점 (결론)
- 주의사항
2-1. Redirect 지시자의 이해
http://apache.kr.net/documents/mod_alias_k.html
에 보면 자세히 나와있으나 다시 설명하자면 단어 그대로이다
다시금 URL 을 바꾸도록 하는것이다.
원래의 용도는 서로 다른 html 이 서로다른 서버에 존재할때 그 여러개를
한개의 페이지로 구성하는(?) 데 목적이 있는듯 보인다.
하지만 우리는 이것을 이용하여 www 를 자동으로 붙이는 목적으로 쓰고자한다.
혹은 URL 을 포워딩하는데 쓰고자 한다.
이것을 응용하면 간이 URL Foward 도 할수 있을것같다(wo.to 같은)
우리는 여기서 정규표현식을 쓸수있는 Redirectmatch 지시자를 쓸것이며
원론적인것을 이해하기보다는 실전에 적용할 요량으로 배워보고자 한다.
2-2. 정규표현식은?
표준 정규식(standard regular expression) 이라고하는 정규표현식의 가장 간단한
예는 와일드카드가 있다.
# ls -al *.jpg
는 앞의 문자는 * 로 치환되고 (자릿수 및 대소문자 가리지 않음) 확장자가
jpg 인 모든 파일을 열람하고자할때 쓸수있다.
이처럼 정규표현식은 수많은 예외들을 표현문자로서 대치하여 경우의 수를 처리가능하게
만드는것이다.
개발할때에는 수많은 예외를 곰곰히 생각하며 표현식을 작성한다. 예를들면
이메일주소에는 특수문자가 들어갈수없고, 뭐 숫자로 시작할수 없으며..
a 부터 z 까지의 문자 및 1-0 까지의 숫자로 이루어질수 있다는 규칙을 정규표현식으로써
표현하는것이다.
정규표현식으로 예외처리 및 URL 뒷자리를 치환하는 작업을 할것이다.
2-3. www 를 왜 붙일까? 도대체 왜?
http://example.com 과 http://www.example.com 은 다른페이지일 가능성이 있다.
(실제로 많은서버는 같은것으로 본다)
그러나 php 세션처리시 서로 다른 케이스로 구분한다고 알고있다.
제로보드 로그인도 가끔식 example.com 과 www.example.com 에서 서로다른 결과를 출력하거나
아무리 로그인해도 로그인이 되지않는 기이한 경우가 발생한다. 나는 이것을 www 의 차이에서
기인한다고 생각하며, 검색해본결과 어느정도 일리가 있다는 결론을 유추할수 있었다.
또한 이미지에 기인할수 있다. 여러가지 주소보다는 언제나 일관되도록 www 를 붙여줌으로써
일관된 주소를 각인시킬수 있다. 또한 이것이 webserver 라는 확고한 인식을 심어줄수도 있다
(위험할수도 있겠지만)
2-4. 그렇다면 어떻게 붙일까? 무지 궁금하다.
붙이는 방법은 엄청난 꽁수(?) 가 동원된다. 내가 oops 에 이 사항을 질문했을때 어떤분이 달아준
답변에 있는 내용을 참고로 했다. 가상호스팅을 써야한다.
<VirtualHost 210.115.55.150>
ServerName www.abc.com
DocumentRoot /home/dopesoul/public_html
</VirtualHost>
이 부분은 www.abc.com 에서만 동작된다. 만약 이부분만 있다면 http://abc.com 으로는 접속이
불가능하다. 대부분의 서버는 Serveralias 를 이용해서 www.abc.com 으로도 접속가능하게 했다.
<VirtualHost 210.115.55.150>
ServerName rootguide.com
RedirectMatch /(.*)$ http://www.abc.com/$1
</VirtualHost>
이부분은 rootguide.com 으로 접속했을때의 처리부분이다. 리다이렉트를 이용하여 다시 www.abc.com
으로 포워딩한다.
/ 뒤의 정규표현식이 의미하는바는 모든 문자이다.(숫자 특수문자 등등..) 그리고 그것을 $ 로 지정하고
$1 으로써 해당문자를 copy paste 하는것이다.
만약 http://abc.com/example/folder/zboard.php 뭐 이런식의 주소가 있다면
example/folder/zboard.php 부분이 $1 으로 치환되며 이것은 다시
http://www.abc.com/example/folder/zboard.php 으로 리다이렉팅되어 종국에는 www 가 붙게되는것이다.
간단하지않은가? 나는 2일동안 이곳저곳 검색했었는데 저 내용을 보는순간 맥이 풀렸다.
마치 어려운 퍼즐의 해답을 지나가던 사람 혹은 지하철 옆자리에서 보던사람이
" 어 이거 이렇게 하면 돼잖아요? " 라고 할때의 허무함과도 같은.. 그런 기분이었다.
2-5. 활용법?
이것을 응용하면 대단한? 서비스도 가능할듯도 싶다..
뭐 그리 대단하진않아도 wo.to 와 같은 서비스를 뒤의 URL 까지 처리가능한? 그런것..
wo.to 는 다른 cgi 를 이용하는듯 보이지만..
어쨋든 무한한 활용이 가능하지 않을까 생각해본다. 저 2줄의 스크립트가.
3. 결론
결론은... "쓸만하네" 이다.
4. 주의사항
아직 마땅한 주의사항은 발견하지 못했다. 혹시 충고할점 있으면 리포팅 바란다.
(리플로)
5. 저작권
작성자에게 있으며, 원한다면 얼마든지 바꾸어써도 좋다. 그러나 자신의 문서처럼은
꾸미지 말아달라. 또한 마음대로 퍼가더라도 작자의 이름은 지우지 말라.
키보드를 뚜드린 값이라 생각해달라.(귀차니즘의 강좌작성자들을 대신해서)
임현 (byulkorea@empal.com) <- 질문하는건 좋으나 스팸메일 보내면.. 정말 x 다.
안녕하세요 Dopesoul 입니다. 고3이 된터라 그동안 강좌를 많이 못썼습니다^^;
그런데 요전에 알게된 좋은 팁인것같아 문서로 작성해 봅니다.
아무리 검색해도 보이질않더군요.
앞으로 강좌쓸때 교과서식으로 진행합니다^^; 목차 개요 목적 방법 결론 추신
등으로 진행됩니다.
경어체 , 존체는 생략하며 간단한 어투로 썼습니다. 도움되시길
유용했다면 추천한방 꾹 눌러주시고~
1. 목차
- Redirect 지시자의 이해
- 정규표현식의 간단한 이해
- www 를 붙여주는 목적
- www 를 자동으로 붙이는 방법
- 이로운점 (결론)
- 주의사항
2-1. Redirect 지시자의 이해
http://apache.kr.net/documents/mod_alias_k.html
에 보면 자세히 나와있으나 다시 설명하자면 단어 그대로이다
다시금 URL 을 바꾸도록 하는것이다.
원래의 용도는 서로 다른 html 이 서로다른 서버에 존재할때 그 여러개를
한개의 페이지로 구성하는(?) 데 목적이 있는듯 보인다.
하지만 우리는 이것을 이용하여 www 를 자동으로 붙이는 목적으로 쓰고자한다.
혹은 URL 을 포워딩하는데 쓰고자 한다.
이것을 응용하면 간이 URL Foward 도 할수 있을것같다(wo.to 같은)
우리는 여기서 정규표현식을 쓸수있는 Redirectmatch 지시자를 쓸것이며
원론적인것을 이해하기보다는 실전에 적용할 요량으로 배워보고자 한다.
2-2. 정규표현식은?
표준 정규식(standard regular expression) 이라고하는 정규표현식의 가장 간단한
예는 와일드카드가 있다.
# ls -al *.jpg
는 앞의 문자는 * 로 치환되고 (자릿수 및 대소문자 가리지 않음) 확장자가
jpg 인 모든 파일을 열람하고자할때 쓸수있다.
이처럼 정규표현식은 수많은 예외들을 표현문자로서 대치하여 경우의 수를 처리가능하게
만드는것이다.
개발할때에는 수많은 예외를 곰곰히 생각하며 표현식을 작성한다. 예를들면
이메일주소에는 특수문자가 들어갈수없고, 뭐 숫자로 시작할수 없으며..
a 부터 z 까지의 문자 및 1-0 까지의 숫자로 이루어질수 있다는 규칙을 정규표현식으로써
표현하는것이다.
정규표현식으로 예외처리 및 URL 뒷자리를 치환하는 작업을 할것이다.
2-3. www 를 왜 붙일까? 도대체 왜?
http://example.com 과 http://www.example.com 은 다른페이지일 가능성이 있다.
(실제로 많은서버는 같은것으로 본다)
그러나 php 세션처리시 서로 다른 케이스로 구분한다고 알고있다.
제로보드 로그인도 가끔식 example.com 과 www.example.com 에서 서로다른 결과를 출력하거나
아무리 로그인해도 로그인이 되지않는 기이한 경우가 발생한다. 나는 이것을 www 의 차이에서
기인한다고 생각하며, 검색해본결과 어느정도 일리가 있다는 결론을 유추할수 있었다.
또한 이미지에 기인할수 있다. 여러가지 주소보다는 언제나 일관되도록 www 를 붙여줌으로써
일관된 주소를 각인시킬수 있다. 또한 이것이 webserver 라는 확고한 인식을 심어줄수도 있다
(위험할수도 있겠지만)
2-4. 그렇다면 어떻게 붙일까? 무지 궁금하다.
붙이는 방법은 엄청난 꽁수(?) 가 동원된다. 내가 oops 에 이 사항을 질문했을때 어떤분이 달아준
답변에 있는 내용을 참고로 했다. 가상호스팅을 써야한다.
<VirtualHost 210.115.55.150>
ServerName www.abc.com
DocumentRoot /home/dopesoul/public_html
</VirtualHost>
이 부분은 www.abc.com 에서만 동작된다. 만약 이부분만 있다면 http://abc.com 으로는 접속이
불가능하다. 대부분의 서버는 Serveralias 를 이용해서 www.abc.com 으로도 접속가능하게 했다.
<VirtualHost 210.115.55.150>
ServerName rootguide.com
RedirectMatch /(.*)$ http://www.abc.com/$1
</VirtualHost>
이부분은 rootguide.com 으로 접속했을때의 처리부분이다. 리다이렉트를 이용하여 다시 www.abc.com
으로 포워딩한다.
/ 뒤의 정규표현식이 의미하는바는 모든 문자이다.(숫자 특수문자 등등..) 그리고 그것을 $ 로 지정하고
$1 으로써 해당문자를 copy paste 하는것이다.
만약 http://abc.com/example/folder/zboard.php 뭐 이런식의 주소가 있다면
example/folder/zboard.php 부분이 $1 으로 치환되며 이것은 다시
http://www.abc.com/example/folder/zboard.php 으로 리다이렉팅되어 종국에는 www 가 붙게되는것이다.
간단하지않은가? 나는 2일동안 이곳저곳 검색했었는데 저 내용을 보는순간 맥이 풀렸다.
마치 어려운 퍼즐의 해답을 지나가던 사람 혹은 지하철 옆자리에서 보던사람이
" 어 이거 이렇게 하면 돼잖아요? " 라고 할때의 허무함과도 같은.. 그런 기분이었다.
2-5. 활용법?
이것을 응용하면 대단한? 서비스도 가능할듯도 싶다..
뭐 그리 대단하진않아도 wo.to 와 같은 서비스를 뒤의 URL 까지 처리가능한? 그런것..
wo.to 는 다른 cgi 를 이용하는듯 보이지만..
어쨋든 무한한 활용이 가능하지 않을까 생각해본다. 저 2줄의 스크립트가.
3. 결론
결론은... "쓸만하네" 이다.
4. 주의사항
아직 마땅한 주의사항은 발견하지 못했다. 혹시 충고할점 있으면 리포팅 바란다.
(리플로)
5. 저작권
작성자에게 있으며, 원한다면 얼마든지 바꾸어써도 좋다. 그러나 자신의 문서처럼은
꾸미지 말아달라. 또한 마음대로 퍼가더라도 작자의 이름은 지우지 말라.
키보드를 뚜드린 값이라 생각해달라.(귀차니즘의 강좌작성자들을 대신해서)
댓글 6
-
앳플군
2003.05.25 14:15
-
DukeEYS
2003.05.26 21:13
간단하게
<!--
<VirtualHost 210.115.55.150>
ServerName rootguide.com
redirect / http://www.rootguide.com/
</VirtualHost>
-->
이렇게 해주셔도 된답니다... 뒤에 / 가 꼭 붙어야 copy paste 가 됩니다. -
DukeEYS
2003.05.26 21:15
다른 예는
<VirtualHost 210.115.55.150>
ServerName rootguide.com
redirect /mail/ http://mail.rootguide.com/
</VirtualHost>
결과는 http://rootguide.com/mail을 요청하면 http://mail.rootguide.com/를 보여줍니다 -
DukeEYS
2003.05.26 21:19
그리고 당연히 리디렉트될 호스트가 있어야합니다 아래처럼
<VirtualHost 210.115.55.150>
ServerName www.rootguide.com
</VirtualHost>
<VirtualHost 210.115.55.150>
ServerName mail.rootguide.com
</VirtualHost>
www 도 mail 처럼 rootguide.com에 속한 호스트임으로.... -
DukeEYS
2003.05.26 21:27
-
Dopesoul
2003.05.27 13:32
정규표현식을 쓴 이유는 아시는지요..
Dueyeys 님 표현대로
간단하게
<!--
<VirtualHost 210.115.55.150>
ServerName rootguide.com
redirect / http://www.rootguide.com/
</VirtualHost>
-->
이렇게 해주셔도 된답니다... 뒤에 / 가 꼭 붙어야 copy paste 가 됩니다.
이렇게 해도 되지만, 제가 알기론 예외상황이 발생합니다.
정규표현식을 이용하면 예외상황이 없습니다.
제가 저대로 했을때는
http://test.com/bbs/zboard.php?id=xxx
로 했을때 http://www.test.com/bbs/zboard.php?id=xxx로 리다이렉팅되지 않았습니다.
모든 case 에 대해서 예외없이 처리해주기위해 정규표현식을 쓴것입니다.
지금 제가 올린 강좌의 용법이나, 목적을 파악하지 못하신것같기도 합니다.
유용하게 쓰실분들은 유용하게 쓰시리라 생각됩니다.
제목 | 글쓴이 | 날짜 |
---|---|---|
[진자 유용한] www 자동으로 붙여주기 [6] | Dopesoul | 2003.05.24 |
[간단팁] 윈도우즈 2003 에서 mysql 사용할때.. [5] | 오종선 | 2003.05.22 |
ie60이상버전의 개인정보기능으로 인한 서비스문제 [2] | 날파리 | 2003.05.21 |
한컴 리눅스 2.2 apach php mysql phpmyadmin zeroboard 서버구축기 예전에 쓴글 약간 수정판 입니다. [6] | 한돌 | 2003.05.19 |
IIS 5.0 WebDAV Buffer Overflow 취약점에 대한 공격빈도 증가 | DearMai | 2003.05.17 |
커널에러 복구 하기~~~ [5] | 서인구 | 2003.05.11 |
윈도2000 서버에서 DNS 서버 운영하기 | DearMai | 2003.05.10 |
apache 98 % 활용하기 ! (윈도우버젼) [13] | 이성헌 | 2003.05.09 |
DNS서버 만들기 [4] | 제르디스™ | 2003.05.04 |
NSLOOKUP 으로 서브도메인과 메일서버 알아보기 [6] | 환군+ | 2003.05.02 |
MASQUERADE 클라이언트 IP 자동으로 부여해주기 [1] | 엔포게이트 | 2003.05.01 |
MASQUERADE 클라이언트 컴퓨터 인터넷 되게..^^; [4] | 김도진 | 2003.04.25 |
APM_Setup4에서 CGI 쉽게 설치하기 [3] | RedEye | 2003.04.14 |
(더 성공률 높은)Apache에서 ASP돌리기(초간다안!!) [6] | okw1003 | 2003.04.09 |
mysqldump를 이용해서 원하는 조건의 record만 뽑아내기 [2] | 겨울늑대 | 2003.04.08 |
mysql DB 주기적 자동 백업 하기 [8] | 김령현 | 2003.04.04 |
md5 암호화 알고리즘을 488bit blf 알고리즘으로 바꾸기 [17] | 김령현 | 2003.04.04 |
센드메일 에라타.. | 선장 | 2003.04.01 |
특정 유저만 su root 허용 | 군고구마 | 2003.04.01 |
서버의 아파치보안 테스트 해보세요 [12] | 김령현 | 2003.03.26 |
zzz.atply.com
vvv.atply.com
...
*.atply.com 을 모두 한 페이지 (ex: /home/atply/public_html/index.php) 으로 연결되게 하면
HTTP_HOST를 찍어보면 접속한 경로 (ex: abc.atply.com) 을 구할수 있겠죠. 이걸 DB와 비교해서 적절히 처리해주는 방식.. 이 쓰이는걸로 압니다.