문서의 선택한 두 판 사이의 차이를 보여줍니다.
| 양쪽 이전 판 이전 판 다음 판 | 이전 판 | ||
|
apache:mod_rewrite [2011/06/09 21:01] kwon37xi |
apache:mod_rewrite [2013/08/19 16:02] (현재) kwon37xi [주석 달기] |
||
|---|---|---|---|
| 줄 1: | 줄 1: | ||
| ====== Apache mod_rewrite ====== | ====== Apache mod_rewrite ====== | ||
| * URL을 변경해서 요청하는 모듈 | * URL을 변경해서 요청하는 모듈 | ||
| + | * [[http:// | ||
| * [[http:// | * [[http:// | ||
| - | | + | * [[http:// |
| - | | + | |
| ===== 기본 ===== | ===== 기본 ===== | ||
| 줄 17: | 줄 17: | ||
| * RewriteCond 를 통해 Apache 변수(variable)의 값을 조건별로 판단해서 룰을 적용할수 있다. | * RewriteCond 를 통해 Apache 변수(variable)의 값을 조건별로 판단해서 룰을 적용할수 있다. | ||
| <code apache> | <code apache> | ||
| - | RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] < | + | RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] |
| RewriteRule .? http:// | RewriteRule .? http:// | ||
| </ | </ | ||
| * RewriteCond 의 **!**은 not 을 뜻한다. 즉, www.example.com 이 **아닌** 다른 도메인으로 왔을 경우에 조건이 발동된다. | * RewriteCond 의 **!**은 not 을 뜻한다. 즉, www.example.com 이 **아닌** 다른 도메인으로 왔을 경우에 조건이 발동된다. | ||
| + | ===== Flags ===== | ||
| + | * [[http:// | ||
| + | * last|L : Rewrite 조건 블럭의 끝(last)를 뜻한다. mod_rewrite 자체를 끝내는 것은 아니다. | ||
| + | * nocase|NC : regex 검사시 대소문자 구분 안함. | ||
| + | * redirect:R : 몰래 rewrite하지 않고, 브라우저가 redirect하도록 한다. 기본 HTTP 302 응답(moved temporarily)을 보낸다. [R=301]로 하면 moved permanently 를 뜻한다(검색엔진이 인덱스를 다시 생성하게 함). | ||
| + | * qsappend|QSA : Query String Appended. 현재 받은 쿼리 문자열을 재설정한 URL에도 동일하게 보낸다. | ||
| + | * forbidden|F : HTTP 403 Forbidden 응답(페이지 제공 안함) | ||
| + | * ornext|OR : 조건 생성시 logical OR 의 역할을 한다. | ||
| + | * next|N : 마지막에 재생성된 URI를 기준으로 해서, 모든 mod_rewrite 조건을 처음부터 다시 체크한다. | ||
| + | * passthrough|PT : 최종 생성된 결과를 파일 경로로 간주하지 않고 또 다른 URI로 간주한다. 이는 Alias, Redirect, ScriptAlias 등을 사용했을 경우에 꼭 필요하다. 이들은 존재하는 파일 경로를 가리키지 않는 URI를 만들어내기 때문이다. | ||
| + | ===== 주석 달기 ===== | ||
| + | <code apache> | ||
| + | RewriteEngine off | ||
| + | Rewrite 관련 코드들... | ||
| + | ... | ||
| + | RewriteEngine on | ||
| + | </ | ||
| + | 위와 같이 하면 off 이하부터 on 이상 까지의 구문이 주석처럼 실행이 안된다. | ||
| + | |||
| + | ===== 요청 금지 ===== | ||
| + | <code apache> | ||
| + | RewriteEngine on | ||
| + | RewriteRule \.exe - [F] | ||
| + | </ | ||
| + | |||
| + | * *.exe의 모든 요청을 금지한다. | ||
| + | * '' | ||