사용자 도구

사이트 도구


apache:mod_rewrite

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
apache:mod_rewrite [2011/06/09 21:46]
kwon37xi
apache:mod_rewrite [2013/08/19 16:02] (현재)
kwon37xi [주석 달기]
줄 17: 줄 17:
   * RewriteCond 를 통해 Apache 변수(variable)의 값을 조건별로 판단해서 룰을 적용할수 있다.   * RewriteCond 를 통해 Apache 변수(variable)의 값을 조건별로 판단해서 룰을 적용할수 있다.
 <code apache> <code apache>
-RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] <br>  +RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC]
 RewriteRule .? http://www.example.com%{REQUEST_URI} [R=301,L]   RewriteRule .? http://www.example.com%{REQUEST_URI} [R=301,L]  
 </code> </code>
줄 23: 줄 23:
  
 ===== Flags ===== ===== Flags =====
-  * 플래그는 조건이나 규칙(Rule)의 끝에 [] 로 감싸서 넣는다. 여러 플래그가 들어갈 경우에는 쉼표(,)로 구분한다.+  * [[http://httpd.apache.org/docs/current/rewrite/flags.html|플래그]]는 조건이나 규칙(Rule)의 끝에 [] 로 감싸서 넣는다. 여러 플래그가 들어갈 경우에는 쉼표(,)로 구분한다.
   * last|L : Rewrite 조건 블럭의 끝(last)를 뜻한다. mod_rewrite 자체를 끝내는 것은 아니다.   * last|L : Rewrite 조건 블럭의 끝(last)를 뜻한다. mod_rewrite 자체를 끝내는 것은 아니다.
   * nocase|NC : regex 검사시 대소문자 구분 안함.   * nocase|NC : regex 검사시 대소문자 구분 안함.
줄 31: 줄 31:
   * ornext|OR : 조건 생성시 logical OR 의 역할을 한다.   * ornext|OR : 조건 생성시 logical OR 의 역할을 한다.
   * next|N : 마지막에 재생성된 URI를 기준으로 해서, 모든 mod_rewrite 조건을 처음부터 다시 체크한다.   * next|N : 마지막에 재생성된 URI를 기준으로 해서, 모든 mod_rewrite 조건을 처음부터 다시 체크한다.
 +  * passthrough|PT : 최종 생성된 결과를 파일 경로로 간주하지 않고 또 다른 URI로 간주한다. 이는 Alias, Redirect, ScriptAlias 등을 사용했을 경우에 꼭 필요하다. 이들은 존재하는 파일 경로를 가리키지 않는 URI를 만들어내기 때문이다.
 ===== 주석 달기 ===== ===== 주석 달기 =====
 <code apache> <code apache>
줄 41: 줄 41:
 위와 같이 하면 off 이하부터 on 이상 까지의 구문이 주석처럼 실행이 안된다. 위와 같이 하면 off 이하부터 on 이상 까지의 구문이 주석처럼 실행이 안된다.
  
 +===== 요청 금지 =====
 +<code apache>
 +RewriteEngine on
 +RewriteRule \.exe - [F]
 +</code>
  
 +  * *.exe의 모든 요청을 금지한다.
 +  * ''[F]''는 자체적으로 더이상의 Rewrite를 중단하는 ''[L]''을 내포한다.
apache/mod_rewrite.1307623615.txt.gz · 마지막으로 수정됨: 2011/06/09 21:46 저자 kwon37xi