by-nc-sa     개발자, DBA가 함께 만들어가는 구루비 지식창고!

mod_rewrite 모듈의 이해 및 활용




mod_rewrite

1. mod_rewrite란?

  • URL을 관리하는 모듈이다. 브라우저의 반영 없이 바로 전달받은 URL을 재 작성하는 모듈이다.
  • 웹 페이지의 접근 URL이 매우 복잡할 경우 mod_rewrite를 설정하는 것으로 간단한 URL로 접근이 가능하며, 한개의 사이트가 여러개의 도메인을 통한 접근 등 다방면으로 활용이 가능하다.
  • 예) www.naver.com, www.naver.co.kr, www.naver.kr를 통하여 사이트에 접속할 경우 전부 www.naver.com으로 이동된다.

2. 리눅스에서 mod_rewrite 설치 (윈도우는 기본적으로 설치되어 있음.)

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

3. mod_rewrite 사용

3-1. httpd.conf 주석 풀기 [종료]구루비 DB 스터디
httpd.conf
mod_rewrite를 사용하기 위해서는 httpd.conf에 주석처리되어 있는 부분을 풀어야 한다.
LoadModule rewrite_module modules/mod_rewrite.so로 검색하여 앞에 주석처리(#)를 삭제한다.
수정한 파일을 저장한 뒤 아파치 서버를 재시작한다.
3-2. mod_rewrite Rule
  • RewriteEngine: mod_rewrite를 사용할지 여부(On/Off)
  • RewriteBase: 기본 경로 설정
  • RewriteCond: 문자열의 패턴 조건 비교
  • RewriteRule: 실제로 치환되는 조건
    플래그 종류: F - 403에러로 redirect, G - 410에러로 redirect, P - proxy request로 보냄, L - 뒤에 어떤 룰이 있어도 적용하지 않고 빠져나옴, N - 새로운 룰 시작, R - 무조건 redirect, NC - 대소문자를 구별하지 않음, OR - OR
3-3. mod_rewrite 실습 [종료]구루비 DB 스터디(안되네요...ㅠㅠ 왜안될까요..죽갔네...)
  • 여러개의 도메인을 한개의 도메인으로 접속이 가능하도록 설정.
httpd-vhosts.conf
RewriteEngine On
RewriteCond %{HTTP_HOST} ^test.apache.com$ [OR]
RewriteCond %{HTTP_HOST} ^test.apache.co.kr$ [OR]
RewriteCond %{HTTP_HOST} ^test.apache.kr$ [NC]
RewriteRule ^/(.*) test.apache.org/$1 [L, R]

관련자료

문서정보

Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.