꿈꾸는 개발자, DBA 커뮤니티 oracleclub.com

mod_rewrite

# 이 문서는 오라클클럽에서 작성하였습니다.
# 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
# 출처 : http://www.gurubee.net/display/SWDEV/mod_rewrite?



mod_rewrite

1 mod_rewrite 설치

  • apache 설치시 Configure 실행시에 --enable-rewrite 옵션을 추가한다.
  • apache 설치 이후 추가 설치시
    • 아파치 압축 푼 디렉토리로 이동 : cd /usr/local/httpd-2.0.63/modules/mappers
    • apxs를 이용해 새 모듈 추가 : /usr/local/apache2/bin/apxs -aic mod_rewrite.c

2 Rewrite 모듈 지시자

2.1 RewriteEngine

  • Rewriteing 엔진을 사용할지 여부를 설정
  • 디폴트 설정은 Off, RewriteEngine On 으로 설정하지 않는 이상 Rewritng 엔진을 사용할 수 없다.
  • 설정문법 : RewriteEngine On|Off

2.2 RewriteRule

  • Rewrite 모듈의 실질적인 Rewrite 규칙들을 적용 한다.
  • Input URL을 Return URL로 변경하기 위한 규칙들을 설정 한다.
  • 아래는 RewriteRule을 이용해 퍼머링크를 만드는 예제다.
<IfModule mod_rewrite.c>  
  RewriteEngine On
  RewriteRule ^/$ /main.ok [R]  
  RewriteRule ^/community/([0-9]+)$ /articlelist.ok?article.communityId=$1 [PT]
  RewriteRule ^/article/([0-9]+)$  /articleview.ok?article.articleId=$1 [PT]
</IfModule>
  • RewriteRule 플래그
    • F(forbidden) : 요청하는 페이지를 403 에러로 redirect 시킵니다.
    • G(gone) : 요청하는 페이지를 410 에러로 redirect 시킵니다.
    • R(redirect) : Return URL로 redirect 한다.
    • PT(passthrough) : Input URL을 그대로 유지하며 Return URL을 실행한다.
    • http://httpd.apache.org/docs/2.2/mod/mod_rewrite.html

2.3 RewriteCond

참고4. 정규표현식 기초
. : 다수의 한문자
? : 0개 이상의 한문자
* : 0개 이상의 문자 또는 문자열
+ : 1개 이상의 문자 또는 문자열
^ : 문자열의 첫문(열)을 지정합니다.
$ : 문자열의 끝 문자(열)을 지정합니다.
(역슬래쉬) : 정규표현식에서 특별한 의미로 사용되는 문자의 특수기능을 제거합니다.(예:(, ), [, ] . 등)
{n} : 정확히 n번 반복
{n,} : n번 이상 반복
{n,m} : n 이상 m 이하 반복
[chars] : 문자들의 범위 또는 표현할 수 있는 문자들을 설정합니다.
예) [a-z] : a 부터 z 까지의 소문자, [tT] : 소문자 t 또는 대문자 T

 정규표현식 단축표현들
[:alpha:] : 알파벳. [a-zA-Z] 와 같은 표현
[:alnum:] : 알파벳과 숫자. [a-zA-Z0-9] 와 같은 표현
[:digit:] : 숫자 [0-9] 와 같은 표현
[:upper:] : 대문자. [A-Z] 와 같은 표현

# 이 문서는 오라클클럽에서 작성하였습니다.
# 이 문서를 다른 블로그나 홈페이지에 게재하실 경우에는 출처를 꼭 밝혀 주시면 고맙겠습니다.~^^
# 출처 : http://www.gurubee.net/display/SWDEV/mod_rewrite?
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.