웹마스터 팁

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. 저작권

작성자에게 있으며, 원한다면 얼마든지 바꾸어써도 좋다. 그러나 자신의 문서처럼은
꾸미지 말아달라. 또한 마음대로 퍼가더라도 작자의 이름은 지우지 말라.
키보드를 뚜드린 값이라 생각해달라.(귀차니즘의 강좌작성자들을 대신해서)
제목 글쓴이 날짜
ie60이상버전의 개인정보기능으로 인한 서비스문제 [2] 날파리 2003.05.21
[간단팁] 윈도우즈 2003 에서 mysql 사용할때.. [5] 오종선 2003.05.22
[진자 유용한] www 자동으로 붙여주기 [6] Dopesoul 2003.05.24
APM_Setup4 에서 에러페이지 띄우기 [2] RedEye(kaist) 2003.05.28
아파치 보안취약점 관련 버전 업데이트 DearMai 2003.05.30
iis + php + mysql 강좌 (윈도우설치) [5] 이성헌 2003.06.01
iis + php + mysql 보충설명. [2] 이성헌 2003.06.01
아파치 버츄얼웹서버에서 웹로그 분석툴 : Webalizer 설치 [2] [1] 정인배 2003.06.02
네임(DNS) 서버 named.conf 설정 하기 정인배 2003.06.02
아파치 : Name-based Virtual Host 사용하기 정인배 2003.06.02
아파치 : IP-based Virtual Host 사용하기 정인배 2003.06.02
Windows Media 서비스에 대한 ISAPI 확장 결함 DearMai 2003.06.03
apache + php + mysql (window 설치) 이성헌 2003.06.05
mysql 강좌 .. 요약본 [4] 이성헌 2003.06.05
php 와 mysql 을 이용한 웹인증..(윈도우에서) 이성헌 2003.06.05
apache 서버에서 apache 인증 (윈도우에서 apm 설치후) 이성헌 2003.06.05
apache 서버에서 디렉토리 보기 방지. [5] 이성헌 2003.06.08
윈98에서 Apache+iASP+Tomcat4.x+Mysql+PHP ...사용하기 [5] 한희진 2003.06.11
webalizer 윈도우+아파치에서 돌려보기 [3] [1] HuHu^^; 2003.06.12
극심한 시스템 파괴시 재해복구 Process [7] Dopesoul 2003.06.14