mod-rewrite
아파치 2.4에서 mod-rewrite에 의해 제공되는 지시어들
수색…
통사론
- RewriteBase URL 경로
- RewriteCond TestString CondPattern
- 다시 쓰기 엔진 켜기 | 끄기
- RewriteMap MapName MapType : MapSource
- RewriteOptions 옵션
- RewriteRule 패턴 대체 [플래그]
Apache 2.4에서 사용 가능한 지시어 목록
Apache 2.4는 mod_rewrite
모듈을 통해 다음과 같은 6 가지 지시문을 제공합니다.
- RewriteBase
- 다시 쓰기 연결
- 다시 쓰기 엔진
- 다시 쓰기 맵
- RewriteOptions
- 다시 쓰기 규칙
이전에 Apache 2.2에서 사용 가능한 다음 지시문이 제거되었습니다.
- 다시 쓰기 잠금
- 다시 쓰기 로그
- RewriteLogLevel
mod_rewrite
가 정의한 모든 지시문 ( RewriteMap
제외)은 AllowOverride FileInfo
통해 디렉토리 당 .htaccess
를 덮어 쓸 수 있습니다.
지령 | 문맥 | 기술 |
---|---|---|
RewriteBase | 디렉토리, .htaccess | 디렉토리 재 작성마다 기준 URL 설정 |
다시 쓰기 연결 | 어디에나 | 다시 쓰기 동작이 발생할 조건을 정의합니다. |
다시 쓰기 엔진 | 어디에나 | 다시 쓰기 엔진의 상태를 설정합니다. |
다시 쓰기 맵 | 서버 구성, 가상 호스트 | 키 조회 기능을 정의합니다. |
RewriteOptions | 어디에나 | 다시 쓰기 엔진에 대한 특수 옵션 설정 |
다시 쓰기 규칙 | 어디에나 | 다시 쓰기 엔진에 대한 특정 규칙을 정의합니다. |
컨텍스트 Everwhere
는 다음 네 가지 위치 중 하나에서 지시문을 정의 할 수 있음을 의미합니다.
- 서버 구성
- 가상 호스트 구성
- 디렉토리 컨텍스트
- .htaccess 파일
RewriteLog
및 RewriteLogLevel
지시문은 전역 LogLevel
지시문과 병합되었으며 다음과 같이 사용됩니다.
LogLevel rewrite:<level>
여기서 <level>
은 trace8
(최하위)에서 emerg
(가장 중요한)까지의 값입니다. 이 목록은 여기에서 볼 수 있습니다 .
RewriteBase 및 RewriteEngine
지령 | 태만 | 문맥 | 기술 |
---|---|---|---|
RewriteBase | 없음 | 디렉토리, .htaccess | 디렉토리 재 작성마다 기준 URL 설정 |
다시 쓰기 엔진 | 떨어져서 | 어디에나 | 런타임 다시 쓰기 엔진 사용 또는 사용 안 함 |
RewriteBase
이 지시문은 상대 경로를 대체하는 데 사용할 URL 접두사를 지정합니다.
RewriteEngine
지시문을 off
설정하면 런타임 재 작성 처리가 수행되지 않습니다. 이러한 규칙은 서버 설정의 가상 호스트에 상속되지 않으므로 개별적으로 정의해야합니다.
다시 쓰기 맵
이 지시문은 정의 된 맵에서 키를 검색하고 맵에서 대체하여 조회를 대체 할 함수를 정의합니다.
매핑 함수는 다음과 같이 RewriteMap
지시어로 정의됩니다.
RewriteMap MAPNAME Type:Source
다음과 같이 RewriteCond
또는 RewriteRule
지시어에서 참조 가이드로 참조 할 수 있습니다.
${ MAPNAME : KEY | DEFAULT }
다음은 맵 정의에서 Type
에 유효한 값입니다.
-
int
-toupper
,tolower
,escape
및unescape
만 허용합니다. -
txt
- 텍스트 파일을 검색합니다. -
dbd
- SQLSELECT
문을 사용하여 데이터베이스를 조회합니다. -
rnd
- 텍스트 파일의 무작위 조회 -
dbm
-httxt2dbm
이 데이터를 해시로 변환해야한다는 것을 제외하고는txt
와 비슷합니다. -
fastdbd
- 캐싱 기능이있는 SQLSELECT
문을 사용하여 데이터베이스를 조회합니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow