Request Filtering 과 URL Rewrite Module 는, Http 요청이 오면 BeginRequest 이벤트에 의해서 작동이 됩니다.
다운로드:
x86: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691
x64: http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1692
IIS7 의 URL Rewrite Module 은 쉽게 URL Rewrite Rule 설정이 가능하도록 UI 를 제공하고 있습니다.
Blank rule 은 직접 모든 항목을 설정하는 것이며,
User friendly URL 은 웹브라우져의 주소창의 URL 을 토대로 몇개의 재작성된 URL 주소 형식 기준의 패턴을 보여 줍니다.
Rule with rewrite map 은 일종의 고정된 템플릿 패턴을 저장후 룰 설정이 호출해서 이용할수 있으며,
Request blocking 은 특정 패턴의 요청을 401, 403, 404, Abort Request 으로 응답을 해줍니다. 일종의 방화벽 역할과 비슷하죠..^^
물론, 기능중에는 Apache 의 mod_rewrite 룰도 가져와서 적용할수 있습니다.
설정된 정보중 전역설정값은 applicationhost.config 에 저장되며, 사이트 단위 설정은 web.config 에 저장됩니다.
<rewrite>
<globalRules>
<rule name="Rewrite rule1 for StaticTest">
<match url=".*" />
<conditions>
<add input="{StaticTest:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="false" />
</rule>
</globalRules>
<rewriteMaps>
<rewriteMap name="StaticTest">
<add key="/article1" value="/article.aspx?id=1&title=some-tile" />
</rewriteMap>
</rewriteMaps>
</rewrite>
<globalRules>
<rule name="Rewrite rule1 for StaticTest">
<match url=".*" />
<conditions>
<add input="{StaticTest:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" appendQueryString="false" />
</rule>
</globalRules>
<rewriteMaps>
<rewriteMap name="StaticTest">
<add key="/article1" value="/article.aspx?id=1&title=some-tile" />
</rewriteMap>
</rewriteMaps>
</rewrite>
위처럼 직접 config 을 수정해서 적용이 가능하지만,. UI 에서의 설정이 훨씬더 편할것 같습니다. URL Rewrite Module 에 대한 상세한 설명은 다음 페이지를 참고해 보시기 바랍니다.
http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
스샷등 매우 상세하게 설명되어 있습니다.^^
출처 : http://www.wssplex.net/Tools/UsefulTools.aspx?Seq=87