Nginx URL 재 작성 규칙 설정 상세 설명
rewrite 모듈 명령 break 문법: break 기본 값: none 사용 필드: server, location, if 역할: 현재 설정 한 재 작성 규칙 을 완성 하고 다른 재 작성 규칙 을 실행 하지 않 습 니 다.
if 문법: if (condition) {...} 기본 값: none 사용 필드: server, location 주의: trp 사용 을 고려 하 십시오.files 대체.
판단 조건 은 다음 과 같은 값 이 있 을 수 있다.
변수의 이름: 빈 문자 전송 '또는' 0 '으로 시작 하 는 문자열 은 false 입 니 다. 문자열 비교: 사용 = 또는! = 연산 자 정규 표현 식 일치: 사용 ~ (대소 문자 구분) 과 ~ (대소 문자 구분 하지 않 음)........................................................................................................................................ 표준 이 아 닌 444 상태 코드 는 연결 을 닫 고 응답 헤드 를 보 내지 않 습 니 다. 사용 가능 한 상태 코드 는 204, 400, 402 - 406, 408, 410, 411, 413, 416 과 500 - 504 입 니 다. 상태 코드 에 텍스트 단락 이 붙 어 있 으 면 응답 주체 에 놓 입 니 다. 반대로 상태 코드 뒤에 URL 이 있 으 면 이 URL 은 location 헤드 값 이 됩 니 다. 상태 코드 가 없 는 URL 은 응답 주체 로 간 주 됩 니 다.302 상태 코드
rewrite 문법: rewrite regex replacement flag 기본 값: none 사용 필드: server, location, if 관련 정규 표현 식 과 문자열 에 따라 URI 를 수정 하고 명령 은 설정 파일 에 나타 나 는 순서에 따라 실 행 됩 니 다. 재 작성 명령 뒤에 표 시 를 추가 할 수 있 습 니 다.
메모: 변 경 된 문자열 이 http: / 로 시작 하면 요청 이 방향 을 바 꾸 고 불필요 한 rewrite 명령 을 실행 하지 않 습 니 다.
끝 에 있 는 태그 (flag) 는 다음 과 같은 값 일 수 있 습 니 다.
last – 재 작성 모듈 명령 을 처리 하지 않 습 니 다. 이후 검색 location 은 변 경 된 URI 와 일치 합 니 다. break – 재 작성 명령 을 완 료 했 습 니 다. redirect – 302 임시 재 설정 을 되 돌려 줍 니 다. 필드 를 http: / / 로 시작 하면 사 용 됩 니 다. permanent – 301 영구 재 설정 을 되 돌려 줍 니 다. rewrite log 문법: rewrite log on | off 기본 값: rewrite log off 사용 필드: server, location,if 변수: 사용 하지 않 을 때 error log 에 notice 단계 의 재 작성 로 그 를 기록 합 니 다.
set 문법: set variable value 기본 값: none 사용 필드: server, location, if 는 주어진 변수 에 특정 값 을 설정 합 니 다.
uninitialized variable warn 문법: uninitialized variable warn on | off 기본 값: uninitialized variable warn on 사용 필드: http, server, location, if 제어 가 초기 화 되 지 않 은 변수의 경고 정 보 를 기록 할 지 여부 입 니 다.
재 작성 규칙 구성 부분 첫 번 째 부분 – 정규 표현 식 은 괄호 로 캡 처 할 수 있 습 니 다. 나중에 위치 에 따라 참조 할 수 있 습 니 다. 위치 변 수 는 정규 표현 식 의 순서 에 달 려 있 습 니 다. $1 은 첫 번 째 괄호 의 값 을 참조 하고 $2 는 두 번 째 괄호 의 값 을 참조 하여 유추 할 수 있 습 니 다. 예 를 들 어:
^/images/([a-z]{2})/([a-z0-9]{5})/(.*).(png|jpg|gif)$
$1 은 두 개의 소문 자로 구 성 된 문자열 입 니 다.
$2 는 소문 자 와 0 에서 9 의 숫자 로 구 성 된 5 글자 의 문자열 입 니 다.
$3 은 파일 이름 입 니 다.
$4 는 png, jpg, gif 중 하나 입 니 다.
두 번 째 부분 – URI 요청 이 변경 되 었 습 니 다. 이 URI 는 정규 표현 식 에서 포 획 된 위치 인자 나 이 단계 의 nginx 설정 변 수 를 포함 할 수 있 습 니 다. 예:
/ data? file = $3. $4 이 URI 가 nginx 설정 의 어떠한 location 와 도 일치 하지 않 는 다 면 클 라 이언 트 에 301 (영구 방향 변경) 또는 302 (임시 방향 변경) 의 상태 코드 를 되 돌려 줍 니 다. 이 상태 코드 는 세 번 째 매개 변 수 를 통 해 명확 하 게 지정 할 수 있 습 니 다.
세 번 째 부분 – 세 번 째 부분 을 표시 하 는 것 은 바로 끝 에 있 는 태그 (flag) 입 니 다. last 표 시 는 재 작성 한 URI 에서 nginx 와 일치 하 는 다른 location 을 검색 합 니 다. 최대 10 회 순환 할 수 있 습 니 다. 예:
rewrite '^ / images / ([a - z] {2}) / ([a - z0 - 9] {5}) / (. *). (png | jpg | gif) $' / data? file = $3. $4 last; break 명령 은 자신의 명령 으로 사용 할 수 있 습 니 다. 예 를 들 어:
if ($bhug) {limit rate 300 k; break;} 인 스 턴 스 http {\ # 정의 이미지 로그 형식 log format imagelog '[$time local]' $image file '' $image type '' $body bytes sent '' $status;
재 작성 로그 열기
rewrite_log on;
server {
root /home/www;
location / {
#
error_log logs/rewrite.log notice;
# ‘’ , {}
rewrite '^/images/([a-z]{2})/([a-z0-9]{5})/(.*)\.(png|jpg|gif)$' /data?file=$3.$4;
# “last” , set
set $image_file $3;
set $image_type $4;
}
location /data {
# ,
access_log logs/images.log mian;
root /data/images;
# 。 , , url
try_files /$arg_file /image404.html;
}
location = /image404.html {
#
return 404 "image not found
";
}
}
다음으로 전송:https://blog.51cto.com/14164498/2364479
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.