사용자 도구

사이트 도구


apache:mod_rewrite

문서의 이전 판입니다!


Apache mod_rewrite

기본

RewriteEngine on
RewriteRule ^/?([a-zA-Z_]+)/([a-zA-Z_]+)/([a-zA-Z_]+)$ display.php?country=$1&state=$2&city=$3 [L]
  • URI 비교 대상은 {REQUEST_URI} 값이다. 쿼리 파라미터는 제외됨.
  • Apache 1.x 에서는 도메인 바로 뒤의 슬래시(/)를 정규표현식에 포함해야 했으나, 2.x 부터는 / 제외하고 매칭.
    • 둘 다 만족시키는 매칭 : ^/? 로 시작하면 된다.
  • RewriteCond 를 통해 Apache 변수(variable)의 값을 조건별로 판단해서 룰을 적용할수 있다.
RewriteCond %{HTTP_HOST} !^www\.example\.com$ [NC] <br>  
RewriteRule .? http://www.example.com%{REQUEST_URI} [R=301,L]  
  • RewriteCond 의 !은 not 을 뜻한다. 즉, www.example.com아닌 다른 도메인으로 왔을 경우에 조건이 발동된다.
apache/mod_rewrite.1307620868.txt.gz · 마지막으로 수정됨: 2011/06/09 21:01 저자 kwon37xi