"mod_rewrite"에 해당되는 글 1건

  1. 2009/03/03 Apache Module mod_rewrite 사용하기 (1)

Apache Module mod_rewrite 사용하기

2009/03/03 08:55

Apache mod_rewrite 사용법 (작성중 - 수정부분이나 잘못된 곳 있으면 지적해주세요)

mod_rewrite (Rewrite engine)  는 전달 받은 URL 을 재 작성 을 하거나 URL을 최적화 할때 사용하는 모듈입니다.

예들 들어서
원 주소 : http://www.example.com/Blogs/Posts.php?Year=2006&Month=12&Day=10
적용 주소 : http://www.example.com/Blogs/2006/12/10/


위와 같은 모습으로 URL을 간단히 처리 할 수 있습니다.

위 예제를  설정하는 룰은 아래와 같습니다.
 (실제 동작은 테스트 하지 않음 : 이해를 돕기 위한 구문임)
RewriteCond %{REQUEST_URI}
RewriteRule /Blogs/([0-9]+)/([0-9]+)/([0-9]+)$
 http://www.example.com/Blogs/Posts.php?Year=$1&Month=$2&Day=$3


위와 같이 설정을 할 수 있습니다.

이제 rewrite 의 설정 및 각 문법에 대해서 알아 보겠습니다.
  1. RewriteBase
  2. RewriteCond
  3. RewriteEngine
  4. RewriteLock
  5. RewriteLog
  6. RewriteLogLevel
  7. RewriteMap
  8. RewriteOptions
  9. RewriteRule

1. RewriteBase (Rewrite 에 사용될 기본 URL 디렉토리를 설정)
사용법 : RewriteBase /Example
적용할수 있는 곳 :  Directory, .htaccess

2. RewriteCond (URL 의 재작성할 부분을 선언하거나 지정한다.)
사용법 : RewriteCond [검사할 문자열] [패턴]
적용할 수 있는 곳 : Server Config, Virtual Host,  Directory, .htaccess

사용할 수 있는 서버 변수

HTTP Headers... 보기

connection & request 보기

server internals 보기

date and time 보기

specials 보기


플래그 (작성중..)
C
CO
F
G
L
N
NC
NE
[P] 재작성한 외부 페이지(웹사이트) 를 재작성 이름으로 대응한다.
PT
QSA
[R] 브라우저에게 변경 사실을 통보한다. (주소창이 변한다)
S
T

사용 예시
Rewrite ^/TestDir/(.*)$ /Web/Test/$1 [L] 은
http://example.com/TestDir/ 으로 들어오면 http://example.com/Web/Test/ 로 처리한다.

Rewrite %{HTTP_USER_AGENT} ^Mozilla.*
RewriteRule ^/$ /browser/mozilla.html [L]

브라우저 UserAgent 에  Mozilla 가 포함되어 잇으면 /browser/mozilla.html 으로 처리한다.

3. RewriteEngine
사용법 : RewriteEngine on|off
기본 : RewriteEngine off
적용할 수 있는 곳 : Server Config, Virtual Host,  Directory, .htaccess
설명 : Rewrite 엔진을 사용하는 여부를 설정한다.

4. RewriteLog
사용법 : RewriteLog [파일패스]
적용할 수 있는 곳 : server conf, virtual host
예 : RewriteLog "/usr/local/apache/log/rewritelog.log"
설명 : Rewrite 동작에 대한 로그를 남긴다.

5. RewriteLogLevel
사용법 : RewriteLogLevel  [Level]
예 RewriteLogLevel 0
적용할 수 있는 곳 : Server Conf, Virtual Host
설명 : RewirteLog 를 이용하여 기록할 로그 레벨을 지정한다.

6. RewriteMap

7. RewriteOptions

8. RewriteRule

"Linux" 카테고리의 다른 글