apache 설정 modrewrite url 재 작성 관련

2196 단어
아파 치 모듈 modrewrite
설명 하 다.
일정한 규칙 에 기초 한 실시 간 재 작성 URL 요청 엔진
상태.
확장 (E)
모듈 이름
rewrite_module
원본 파일
mod_rewrite.c
호환성
Apache 1.3 및 이후 버 전에 서 만 사용 가능
개술
이 모듈 은 정규 표현 식 분석 기 를 기반 으로 한 재 작성 엔진 을 제공 하여 URL 재 작성 요청 을 실시 간 으로 합 니 다.이 는 모든 전체 규칙 이 수량 에 제한 이 없 는 하위 규칙 과 부가 조건 규칙 을 가 질 수 있 는 유연 하고 강력 한 URL 조작 체 제 를 지원 합 니 다.이 URL 작업 은 서버 변수, 환경 변수, HTTP 헤드, 시간 표시, 심지어 URL 구성 부분 과 일치 하 는 데이터 베 이 스 를 찾 는 데 사용 되 는 다양한 테스트 에 의존 할 수 있 습 니 다.
이 모듈 은 URL 의 모든 부분 (경로 정보 부분 포함) 을 조작 할 수 있 으 며 서버 급 httpd.conf 과 디 렉 터 리 급 .htaccess 설정 이 유효 하 며 최종 요청 문자열 도 생 성 할 수 있 습 니 다.이 재 작성 작업 의 결 과 는 내부 서브 처리 일 수도 있 고 외부 요청 의 방향 일 수도 있 으 며 내부 대리 처리 일 수도 있 습 니 다.
그러나 이러한 모든 기능 과 유연성 은 하나의 문 제 를 가 져 온다. 그것 이 바로 복잡성 이다. 따라서 하루 안에 전체 모듈 을 이해 할 수 있 을 것 이 라 고 기대 하지 마라.
ReWriteBase
설명 하 다.
디 렉 터 리 재 작성 기준 URL 설정
문법RewriteBase URL-path
기본 값
역할 영역
directory, .htaccess
덮어 쓰기 항목
FileInfo
상태.
확장 (E)
모듈
mod_rewrite
# /abc/def/.htaccess -- /abc/def        
#   :/abc/def   /xyz      (      'Alias /xyz /abc/def'  )。

RewriteEngine On

#              /xyz         /abc/def
RewriteBase   /xyz

#     
RewriteRule   ^oldstuff\.html$  newstuff.html

상기 예 에서 /xyz/oldstuff.html 에 대한 요청 은 물리 파일 /abc/def/newstuff.html 에 대한 요청 으로 정확하게 재 작성 되 었 다.
아파 치 해커 들 만 참고
아래 의 내부 처리 에 대한 상세 한 절 차 를 보 여 줍 니 다.
  :
  /xyz/oldstuff.html

      :
  /xyz/oldstuff.html     -> /abc/def/oldstuff.html  (per-server Alias)
  /abc/def/oldstuff.html -> /abc/def/newstuff.html  (per-dir    RewriteRule)
  /abc/def/newstuff.html -> /xyz/newstuff.html      (per-dir    RewriteBase)
  /xyz/newstuff.html     -> /abc/def/newstuff.html  (per-server Alias)

  :
  /abc/def/newstuff.html

이 과정 은 매우 복잡 해 보이 지만 디 렉 터 리 급 재 작성 시기 가 너무 늦 었 기 때문에 이 (재 작성) 요청 을 Apache 핵심 에 다시 주입 해 야 하기 때문에 Apache 내 부 는 확실히 이렇게 처리 합 니 다.그러나 아파 치 서버 내부 에 완전히 주입 되 어 진행 되 고 이러한 과정 은 아파 치 내부 에서 도 다른 많은 작업 에 사용 되 기 때문에 비용 이 그렇게 많이 들 지 않 습 니 다.그래서 당신 은 그 설계 와 실현 이 정확 하 다 고 충분히 믿 을 수 있 습 니 다.

좋은 웹페이지 즐겨찾기