nginx 리 셋 규칙 입문
시간: 2015 - 12 - 17 15: 18: 03 출처: 인터넷
가이드: nginx 리 셋 규칙, Nginx 리 셋 모듈 HttpRewriteModule 의 용법 설명, nginx 리 셋 IF 조건 판단 등.
Nginx 의 리 셋 방향 은 Nginx 의 HttpRewriteModule 을 사 용 했 습 니 다.
사용:
rewrite 명령
nginx 의 rewrite 는 apache 의 rewriterule (대부분의 경우 기 존의 apache 의 rewrite 규칙 에 따 옴 표를 붙 여 직접 사용 할 수 있 습 니 다) 에 해당 합 니 다. server, location, IF 조건 판단 블록 에 사용 할 수 있 습 니 다. 명령 형식 은 다음 과 같 습 니 다. rewrite 정규 표현 식 은 목표 flag 표 시 를 다음 과 같은 몇 가지 형식 으로 바 꿀 수 있 습 니 다. last – 기본적으로 이 Flag 을 사용 합 니 다.break – Rewirte 를 중단 합 니 다. redirect 와 계속 일치 하지 않 습 니 다. - 임시 재 설정 HTTP 상태 302 permanent – 영구적 으로 재 설정 한 HTTP 상태 301 (301 재 설정) 을 되 돌려 줍 니 다. 예 를 들 어 다음 설정 nginx 는 특정한 디 렉 터 리 아래 의 파일 을 다른 디 렉 터 리 로 재 설정 합 니 다. 두 번 째 괄호 (. *) 에 대응 하 는 문자열 $2:
location /download/ {
rewrite ^(/download/.*)/m/(.*)\..*$ $1/nginx-rewrite/$2.gz break;
}
nginx 재 정립 IF 조건 판단
server 와 location 두 가지 상황 에서 nginx 의 IF 조건 으로 판단 할 수 있 습 니 다. 조건 은 다음 과 같은 몇 가지 입 니 다. 정규 표현 식: 일치 판단 ~ 대소 문자 구분 을 위 한 일치;! ~대소 문자 구분 이 일치 하지 않 습 니 다. ~* 대소 문 자 를 구분 하지 않 기 위해 일치 합 니 다.대소 문자 가 일치 하지 않 는 것 을 구분 하지 않 기 위해 서 다음 설정 nginx 는 사용자 가 i 를 사용 할 때 / nginx - ie 디 렉 터 리 로 재 설정 합 니 다.
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /nginx-ie/$1 break;
}
파일 과 디 렉 터 리 판단 -f 와! -f 파일 존재 여부 판단 -d 와! -d 디 렉 터 리 존재 여부 판단 -e 와! -e 파일 이나 디 렉 터 리 가 존재 하 는 지 판단 -x 와! -x. 파일 이 실 행 될 수 있 는 지 여 부 를 판단 합 니 다. 예 를 들 어 다음 설정 nginx 는 파일 과 디 렉 터 리 가 존재 하지 않 을 때 방향 을 바 꿉 니 다.
if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}
return http 코드 를 되 돌려 줍 니 다. 예 를 들 어 nginx 도 난 방지 체인 설정:
location ~* \.(gif|jpg|png|swf|flv)$ {
valid_referers none blocked www.jefflei.com www.leizhenfang.com;
if ($invalid_referer) {
return 404;
}
}
설정 nginx 변수
Jeff 's Bloghttp://www.jefflei.com/post/1015.html
관련 글
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.