웹마스터 팁
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
^^~
제목 | 글쓴이 | 날짜 |
---|---|---|
아이콘 폰트 축소 서비스 | easylogic | 2016.08.11 |
XE Core:1.7.5.3 조회수 증가, 자기 게시글 클릭시 조회수 증가 [1] | 때린데 또때려 | 2014.07.04 |
상위 셀렉트박스 값 변경시 하위셀렉트박스(다수)제어하기. [2] | Xian | 2005.02.19 |
포트포워딩없이 외부접속 허용하기(윈도우 서버) [1] | 임채원임 | 2014.11.17 |
CentOs7에서 중국 IP 차단하기 [5] | 카르마 | 2016.06.02 |
메인메뉴 빵조각메뉴 서로 다르게 하고 싶을때 | 미연조 | 2016.07.08 |
하나의 웹서버에 php5, php7 설치하기 | 라온넷닷컴 | 2016.06.10 |
배너 랜덤추출 스크립트 [xe적용방법] [16] | 라싸 | 2008.02.19 |
비싼호스팅 쓰지말고 공유기로 돌리자(컴보다 더 쉽다니!!) [1] | djdisodo | 2016.06.04 |
CentOS 7 : Apache2.4 + PHP5.6 + MariaDB + VSFTP 설치하기 [6] | 우리아기 | 2015.08.06 |
[추천 팁] 오에카키 PHP 버전으로 만들기 [19] | 소프트맨 | 2002.08.31 |
사용자정의 기준으로 정렬을 했을 경우 최신글이 목록 상단으로 뜨도록 수정법 ( 현재 최신글이 하단에 뜸 ) | sejin7940 | 2016.05.25 |
부운영자 [26] | 송동우 | 2012.02.05 |
정확한 계산기 소스입니다. [2] | 현탁 | 2014.01.15 |
[시니시즘] XE의 XML Query 관련 팁 | 시니시즘 | 2016.04.26 |
[개발팁] Console에서 디버깅 시 발생하는 x.js Deprecated 오류 제거 하기 | SimpleCode | 2016.04.19 |
IIS에서의 URL 재작성 사용하기 [5] | ehii | 2014.10.30 |
SEO 1.8.18 에서 Analytics 와 기타 탭 작동 안 하는 버그 수정법 | sejin7940 | 2016.04.03 |
그룹별 회원 목록 출력 [2] | 윤삼 | 2015.10.25 |
위지윅 에디터의 관리의 활성 비활성이 안될 경우 해결책 [2] | 김유중345 | 2009.05.01 |
호스팅 서비스 사용 등의 이유로
윈도우즈 서버에서 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