웹마스터 팁
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
-
ehii
2015.07.26 00:20
-
ehii
2015.11.21 01:12
윈도우10의 IIS 10에서 URL 재작성 2.0이 설치되지 않는 경우
실행 > regedit
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp 의 MajorVersion 을 9로 수정 후 설치하시면 됩니다.
(URL 재작성 2.0설치 후 다시 10으로 바꿔주세요)
http://forums.iis.net/t/1223421.aspx?Can+not+install+rewrite+module+on+windows+10+10041+build+IIS10
-
후니ss
2016.03.07 07:30
윈도우10 IIS 환경 하에서 단순히 버전의 조정만으로 설치할 수는 없고 프로그램에 약간의 손을 봐야만 합니다. 프로그램을 수정하기 위해서는 Orca.Msi와 같은 프로그램 에디터 파일을 다운받아야 합니다. 인터넷에서 'Orca.Msi'를 검색하여 다운 받으시거나https://msdn.microsoft.com/en-us/library/aa370557(VS.85).aspx 사이트에 접속하셔서 다운 받으셔도 됩니다.
다운받은 url 재작성 모듈을 'Orca' 프로그램을 실행하여 파일을 열고 LaunchCondition의 (IISMAJORVERSION > ="#7") OR (Installed) 부분에서 오른쪽 버튼을 눌러 제거하여 주시면 됩니다. 이후, 저장한 파일을 실행하시면 url 재작성 모듈이 설치됩니다. 모듈설치가 끝나면 다시 'regedit'를 실행하여 변경하였던 버전을 윈래대로 돌려 놓으시면 됩니다. -
ehii
2016.04.09 23:38
-
후니ss
2016.04.12 09:22
^^~
제목 | 글쓴이 | 날짜 |
---|---|---|
플래시 컨트럴 활성화하라는 메시지 없애기 [4] | 달구벌 | 2008.04.08 |
외부페이지에서 매개변수 사용하기 [2] | JnCsoft | 2008.04.07 |
사각박스 코너를 이미지없이 둥글게 만드는법 [5] | 느까끼 | 2008.04.07 |
최근 이미지 목록 + 라이트박스 [6] | 베니 | 2008.04.04 |
플래시로 페이지에 랜덤 이미지 돌리기 [3] | ☜ TeRy ☞ | 2008.04.04 |
환율 계산 팝업창 띄우기 [9] | RainSky | 2008.04.03 |
게시판을 외부레이아웃에 넣기 [4] | 박봉수610 | 2008.04.03 |
갓난아기 상태의 제로보드 유저를 위한 팁. [2] | font | 2008.04.01 |
카테고리부분의 너비조절하기 [3] | gajagu | 2008.04.01 |
탭 형태 문서출력에서 목록수 지정하기. [3] | Zerode | 2008.03.31 |
양력/음력DB 홈페이지에 사용하기 [2] | 감뿌리 | 2008.03.29 |
로그인풀림방지 - 자동 www 붙이는 다른 방법 [23] | RainSky | 2008.03.28 |
사이트 주소로 접속했을때 XE폴더로 이동하기 #2 [15] | 베니 | 2008.03.28 |
''권한이 없습니다'' 라는 문구를 조금 더 부드럽게 바꾸기 [3] | RainSky | 2008.03.21 |
좁은폭의 레이아웃을 쓰시는 분들을 위하여 (게시판 제목부분 깔끔하게 만들기) [5] | gajagu | 2008.03.20 |
상담/신청 (쓰기만 가능한 게시판) 만들기 [10] | mmx900 | 2008.03.20 |
업데이트 후 댓글 입력 창이 안 나올때...(댓글 에디터) | 수지보더 | 2008.03.20 |
로그인 풀림현상 원인 파악 [3] | 남국 | 2008.03.19 |
플래시 Embed패치(이올라스) 충돌에 의한 파일첨부버튼 해결법 [2] | Guns | 2008.03.18 |
큰 파일의 썸네일이 안생길때 해결방법-추가 [7] | HIKARU | 2008.03.18 |
호스팅 서비스 사용 등의 이유로
윈도우즈 서버에서 IIS의 URL재작성 모듈에 접근할 수 없거나 이를 변경할 수 없는 경우
web.config파일을 업로드 하는 것으로 동일한 효과를 가져올 수 있습니다. 아파치 서버의 .htaccess파일처럼 말이죠.
물론 서버에 URl재작성 모듈이 설치되어 있다는 전제하에 web.config파일을 사용할 수 있습니다..
첨부파일은 xe(1.8.7)에서의 .htaccess파일을 web.config로 변환한 것 입니다.
윈도우 서버에서 url재작성 모듈이 설치되어 있다면 xe의 root폴더에 이 파일을 업로드하여 짧은 주소를 사용할 수 있습니다.
참조 .htaccess -> web.config 변환에 관한 문서 http://www.iis.net/learn/application-frameworks/install-and-configure-php-applications-on-iis/translate-htaccess-content-to-iis-webconfig