웹마스터 팁
IIS에서의 URL 재작성 사용하기
2014.10.30 06:40
1. 개요
Apache의 .htaccess와 비슷한 기능(짧은 주소, IP차단, 리디렉션등) 을 하는 IIS의 "URL 재작성" 적용 방법 설명
(.htaccess 파일의 사용이 더 익숙하신 분들은 인바운드 규칙 불러오기로 IIS에 적용하셔도 무방합니다.)
2. 순서
URL 재작성 설치
정규표현식
XE 짧은 주소 적용
redirection, www 자동으로 붙이거나 떼기
IP차단, spam-bot agent 차단, refferer 차단
3. URL 재작성 설치
IIS 관리자 > 웹 플랫폼에서 "URL 재작성 2.0"을 설치 합니다.
웹 플렛폼은 http://www.microsoft.com/web/downloads/platform.aspx 에서 다운 받을 수 있습니다.
4. 정규표현식
URL 재작성에서는 와일드 카드도 쓰이지만, 주로 쓰는 정규표현식 정도는 알아 두는것이 좋습니다.
몇가지 주요한 정규표현식은 아래와 같습니다.
^
시작
$
끝
.
1개의 문자
¦
or
()
하위식
*
0회 이상
+
1회 이상
?
0회 또는 1회
[]
문자 클래스(문자 중 하나를 선택)
\
이스케이프(특수 문자 표현)
(예)
-
정규표현식
설명
aaa.com 또는 Aaa.com
^aaa\.com|^Aaa\.com$
^[aA]aa\.com$
^(a|A)aa\.com$
\. 특수기호인 .을 표현
bot 이 포함된 문자열
^.*bot.*$
^(bot)+$
.*은 0개 이상의 모든 문자 또는 문자열을 의미
http 또는 https
^http(s)?
^http|^https
(s)?는 s가 있거나 없거나 모두 포함함을 의미
참조 http://ko.wikipedia.org/wiki/%EC%A0%95%EA%B7%9C_%ED%91%9C%ED%98%84%EC%8B%9D
5. XE 짧은 주소 적용
관리자에서 해당 사이트(ex. Default Web Site) 클릭 후 URL 재작성 > 인바운드 규칙 > 규칙 가져오기 > XE root폴더의 .htaccess파일 > 적용
마찬가지로 redirection이나 agent차단을 .htaccess파일로 작성한 뒤 URL 재작성에서 불러오기로 적용할 수 있습니다.
6. Redirection, www 자동으로 붙이거나 떼기
6.1 Redirection
예를 들어 유저가 aaa.co.kr, aaa.net 으로 접속한 것을 aaa.com으로 redirection 하려는 경우
관리자에서 해당 사이트(ex. Default Web Site) 클릭 후 URL 재작성 > 규칙 추가> 빈 규칙
아래와 같이 인바운드 규칙을 편집 > 오른쪽 작업 탭에서 저장
(URL 에서 하위식으로 묶인 패턴을 {R:1}로 역참조하여 리디렉션)
6.2 응용 - www 자동으로 붙이기
정규식 패턴에 ^(.*)$
조건에서 {HTTP_HOST} 에 ^aaa\.com
작업 > 작업 속성에서 http://www.aaa.com/{R:1} , 영구 이동(301) > 적용
www를 자동으로 떼려면 조건과 작업 속성을 위와 반대로 적용하면 됩니다.
7. 차단
7.1 IIS관리자에 "IP 주소 및 도메인 제한" 이 있지만, "URL 재작성"이 " 더 세부적인 설정을 할 수 있습니다.
차단 역시 관리자에서 해당 사이트(ex. Default Web Site) 클릭 후 URL 재작성 > 규칙 추가> 빈 규칙 으로 들어가서
아래와 같이 ^.*(=모든 URL)에서 각 조건을 적용하면 됩니다.
7.2 IP 차단
7.3 User-Agent 차단
7.4 외부링크 차단
(아래의 예는 주소창에 직접 입력하여 접속하거나 해당 홈페이지 내에서 링크하는 것만 허용)
7.5 차단 유형 지정
요청 중단
401 unauthorized 인증 실패
402 fobbiden 권한 없음
403 not found 파일 또는 문서 없음
댓글 5
제목 | 글쓴이 | 날짜 |
---|---|---|
플래시 Embed패치(이올라스) 충돌에 의한 파일첨부버튼 해결법 [2] | Guns | 2008.03.18 |
로그인 풀림현상 원인 파악 [3] | 남국 | 2008.03.19 |
업데이트 후 댓글 입력 창이 안 나올때...(댓글 에디터)
![]() | 수지보더 | 2008.03.20 |
상담/신청 (쓰기만 가능한 게시판) 만들기 [10] | mmx900 | 2008.03.20 |
좁은폭의 레이아웃을 쓰시는 분들을 위하여 (게시판 제목부분 깔끔하게 만들기)
[5]
![]() | gajagu | 2008.03.20 |
''권한이 없습니다'' 라는 문구를 조금 더 부드럽게 바꾸기
[3]
![]() | RainSky | 2008.03.21 |
사이트 주소로 접속했을때 XE폴더로 이동하기 #2 [15] | 베니 | 2008.03.28 |
로그인풀림방지 - 자동 www 붙이는 다른 방법 [23] | RainSky | 2008.03.28 |
양력/음력DB 홈페이지에 사용하기 [2] | 감뿌리 | 2008.03.29 |
탭 형태 문서출력에서 목록수 지정하기. [3] | Zerode | 2008.03.31 |
카테고리부분의 너비조절하기
[3]
![]() | gajagu | 2008.04.01 |
갓난아기 상태의 제로보드 유저를 위한 팁. [2] | font | 2008.04.01 |
게시판을 외부레이아웃에 넣기
[4]
![]() | 박봉수610 | 2008.04.03 |
환율 계산 팝업창 띄우기
[9]
![]() | RainSky | 2008.04.03 |
플래시로 페이지에 랜덤 이미지 돌리기 [3] | ☜ TeRy ☞ | 2008.04.04 |
최근 이미지 목록 + 라이트박스
[6]
![]() | 베니 | 2008.04.04 |
사각박스 코너를 이미지없이 둥글게 만드는법 [5] | 느까끼 | 2008.04.07 |
외부페이지에서 매개변수 사용하기 [2] | JnCsoft | 2008.04.07 |
플래시 컨트럴 활성화하라는 메시지 없애기
[4]
![]() | 달구벌 | 2008.04.08 |
레이아웃수정시 참고할 zbXe레이아웃스킨의 css와 layout 상관관계(1.0.0 기본스킨)
[21]
![]() | 갯가 | 2008.04.08 |