nginx rewrite 규칙 잡탕
10313 단어 nginx
파일 및 디 렉 터 리 일치
밤 을 들다
# www.csdn.net/abc/123/ -> www.csdn.net/web.do?name=123
#if ( $host ~ "^www\.csdn\.net$") {
# rewrite ^/(.+)/(\d+)/ /$1.do?name=$2 permanent;
#}
#
#if ($uri ~ "/pc/vote_appGetVote.do") {
# rewrite ^ http://m.iwei.u-kor.cn/pc/vote_appGetVote.do last;
#}
#
#if ( $arg_username = "abc" ) {
# rewrite ^ /error.html break;
#}
#
#if ($http_user_agent ~* iPhone) {
# rewrite ^(.*)$ /iphone/$1 break;
#}
# , error.html
#if( !-e $request_filename ) {
# rewrite ^/(.*)$ error.html last;
#}
# if-else
#set $web-flag "0";
#if ($remote_addr ~ "192.168.1.2$"){
# set $web-flag "1";
#}
#if ($http_x_forwarded_for ~ "192.168.1.2"){
# set $web-flag "1";
#}
#if ($web-flag = "1"){
# proxy_pass http://127.0.0.1:8080;
# break;
#}
#
#location ~* \.(gif|jpg|swf)$ {
# valid_referers none blocked www.csdn.net blog.csdn.net;
# if ($invalid_referer) {
# rewrite ^/ http://$host/logo.png;
# return 412;
# break;
# }
# expires 30d;
#}
# 30
#location ~ .*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ico|rar|txt|flv|mid|doc|ppt|xls|mp3|wma)$
#{
# expires 30d;
#}
nginx 변수
변량
설명 하 다.
$args
요청 중인 인자
$content_length
HTTP 요청 메시지 의 "Content - Length"
$content_type
요청 메시지 의 "Content - Type"
$document_root
현재 요청 한 루트 경로 설정 값
$document_uri
$uri 와 같 음
$host
요청 정보 에 있 는 "Host" 는 요청 에 Host 줄 이 없 으 면 설 정 된 서버 이름 과 같 습 니 다.
$limit_rate
연결 속도 제한
$request_method
"GET", "POST" 등 요청 방법
$remote_addr
클 라 이언 트 주소
$remote_port
클 라 이언 트 포트 번호
$remote_user
클 라 이언 트 사용자 이름, 인증 용
$request_filename
현재 요청 한 파일 경로 이름
$request_body_file
??
$request_uri
요청 한 URI, 인자 포함
$query_string
$args 와 같 음
$scheme
사용 하 는 프로 토 콜, 예 를 들 어 http 또는 https, 예 를 들 어 rewrite ^ (. +) $scheme://example.com$1 redirect
$server_protocol
요청 한 프로 토 콜 버 전, "HTTP / 1.0" 또는 "HTTP / 1.1"
$server_addr
서버 주소, 서버 주 소 를 listen 으로 가리 키 지 않 으 면 이 변 수 를 사용 하면 주 소 를 얻 기 위해 시스템 호출 을 시작 합 니 다 (자원 낭비)
$server_name
요청 한 서버 이름
$server_port
요청 한 서버 포트 번호
$uri
요청 한 URI 는 초기 값 과 다 를 수 있 습 니 다. 예 를 들 어 방향 을 바 꾸 는 것 과 같은 것 입 니 다.
정규 표현 식
문자
설명 하 다.
\
다음 문 자 를 특수 문자, 텍스트, 역방향 참조 또는 8 진 전의 문자 로 표시 합 니 다.예 를 들 어 'n' 은 문자 'n' 과 일치 합 니 다."" 줄 바 꿈 문자 와 일치 합 니 다.시퀀스 "\" 일치 "\", "(" 일치 "(").
^
입력 문자열 이 시 작 된 위치 와 일치 합 니 다. RegExp 대상 의 Multiline 속성 이 설정 되 어 있 으 면 ^ "" 또는 "\ r" 다음 위치 와 일치 합 니 다.
$
입력 문자열 의 끝 에 있 는 위치 와 일치 합 니 다. RegExp 대상 의 Multiline 속성 이 설정 되 어 있 으 면 $는 "" 또는 "\ r" 이전 위치 와 일치 합 니 다.
*
0 회 또는 여러 번 앞의 문자 나 하위 표현 식 과 일치 합 니 다. 예 를 들 어 zo * 는 'z' 와 'zoo' 와 일치 합 니 다. * 는 {0,} 과 같 습 니 다.
+
한 번 또는 여러 번 앞의 문자 나 하위 표현 식 과 일치 합 니 다. 예 를 들 어 "zo +" 는 "zo" 와 "zoo" 와 일치 하지만 "z" 와 일치 하지 않 습 니 다. + 는 {1,} 과 같 습 니 다.
?
0 회 또는 한 번 은 앞의 문자 나 하위 표현 식 과 일치 합 니 다. 예 를 들 어 "do (es)?" 는 "do" 또는 "does" 의 "do" 와 일치 합 니 다.? {0, 1} 과 같 습 니 다.
{n}
n 은 부정 정수 입 니 다. n 번 과 딱 일치 합 니 다. 예 를 들 어 "o {2}" 은 "Bob" 의 "o" 와 일치 하지 않 지만 "food" 의 두 "o" 와 일치 합 니 다.
{n,}
n 은 부정 정수 입 니 다. 최소한 n 번 은 일치 합 니 다. 예 를 들 어 "o {2,}" 은 "Bob" 의 "o" 와 일치 하지 않 고 "fooood" 의 모든 o 와 일치 합 니 다. "o {1,}" 은 "o +" 와 같 습 니 다. "o {0,}" 은 "o *" 와 같 습 니 다.
{n,m}
M 과 n 은 마이너스 정수 입 니 다. 그 중에서 n < = m. 최소 n 번, 최대 m 번 일치 합 니 다. 예 를 들 어 'o {1, 3}' 은 'foooood' 의 첫 세 번 째 o 와 일치 합 니 다. 'o {0, 1}' 은 'o?' 와 같 습 니 다. 주의: 쉼표 와 숫자 사이 에 빈 칸 을 삽입 할 수 없습니다.
?
이 문 자 는 다른 한정 문자 (*, +,?, {n}, {n,}, {n, m}) 에 이 어 일치 하 는 모드 는 "욕심 이 아 닙 니 다" 입 니 다. "욕심 이 아 닌" 모드 는 검색 한 짧 은 문자열 과 일치 합 니 다. 기본 적 인 "욕심 많은" 모드 는 검색 한 긴 문자열 과 일치 합 니 다. 예 를 들 어 문자열 "oooo" 에서 "o +?" 는 하나의 "o" 와 만 일치 합 니 다., "o +" 는 모든 "o" 와 일치 합 니 다.
.
"" 를 제외 한 모든 문자 와 일치 합 니 다. "" 를 포함 한 임의의 문자 와 일치 하려 면 "[\ s \ S]" 와 같은 모드 를 사용 하 십시오.
(pattern)
pattern 과 일치 하 는 하위 표현 식 을 캡 처 합 니 다. 0. 9 속성 을 사용 하여 결과 '일치' 집합 에서 캡 처 된 일치 성 을 검색 할 수 있 습 니 다. 괄호 문자 () 와 일치 하려 면 '(' 또는 ')' 을 사용 하 십시오.
(?:pattern)
pattern 과 일치 하지만 일치 하 는 하위 표현 식 은 캡 처 되 지 않 습 니 다. 나중에 사용 할 일치 하 는 것 을 저장 하지 않 습 니 다. 이것 은 "or" 문자 (
(?=pattern)
선행 검색 을 예측 하 는 하위 표현 식 을 실행 합 니 다. 이 표현 식 은 pattern 과 일치 하 는 문자열 의 시작 점 에 있 는 문자열 과 일치 합 니 다. 캡 처 되 지 않 은 문자열 입 니 다. 나중에 사용 할 일치 하 는 문자열 을 캡 처 할 수 없습니다. 예 를 들 어 'Windows (? = 95)'
(?!pattern)
역방향 예측 선행 검색 을 실행 하 는 하위 표현 식 입 니 다. 이 표현 식 은 pattern 과 일치 하지 않 는 문자열 의 시작 점 에 있 는 검색 문자열 과 일치 합 니 다. 캡 처 되 지 않 은 문자열 입 니 다. 나중에 사용 할 일치 하 는 문자열 을 캡 처 할 수 없습니다. 예 를 들 어 'Windows (?! 95
x|y
x 또는 y 와 일치 합 니 다.
[xyz]
문자 집합 입 니 다. 포 함 된 모든 문자 와 일치 합 니 다. 예 를 들 어 "[abc]" 는 "plain" 의 "a" 와 일치 합 니 다.
[^xyz]
역방향 문자 집합 입 니 다. 포함 되 지 않 은 모든 문자 와 일치 합 니 다. 예 를 들 어 "[^ abc]" 는 "plain" 의 "p" 과 일치 합 니 다.
[a-z]
문자 범위 입 니 다. 지정 한 범위 내의 모든 문자 와 일치 합 니 다. 예 를 들 어 "[a - z]" 는 "a" 에서 "z" 범위 내의 모든 소문 자 와 일치 합 니 다.
[^a-z]
역방향 범위 문자 입 니 다. 지정 하지 않 은 범위 내 에 있 는 모든 문자 와 일치 합 니 다. 예 를 들 어 "[^ a - z]" 는 "a" 에서 "z" 범위 내 에 있 지 않 은 모든 문자 와 일치 합 니 다.
\b
글자 경계, 즉 글자 와 빈 칸 사이 의 위치 가 일치 합 니 다. 예 를 들 어 "er \ b" 는 "never" 의 "er" 와 일치 하지만 "verb" 의 "er" 와 일치 하지 않 습 니 다.
\B
비 글자 경계 가 일치 합 니 다. "er \ B" 는 "verb" 의 "er" 와 일치 하지만 "never" 의 "er" 와 일치 하지 않 습 니 다.
\cx
x 지시 와 일치 하 는 제어 문자 입 니 다. 예 를 들 어 \ cM 은 control - M 이나 리 턴 문자 와 일치 합 니 다. x 의 값 은 A - Z 또는 a - z 사이 에 있어 야 합 니 다. 그렇지 않 으 면 c 가 'c' 문자 자체 라 고 가정 합 니 다.
\d
숫자 문자 가 일치 합 니 다. [0 - 9] 와 같 습 니 다.
\D
비 숫자 문자 가 일치 합 니 다. [^ 0 - 9] 와 같 습 니 다.
\f
페이지 바 꾸 기 문자 가 일치 합 니 다. \ x0c 와 \ cL 과 같 습 니 다.
줄 바 꿈 문자 가 일치 합 니 다. \ x0a 와 \ cJ 와 같 습 니 다.
\r
리 턴 문자 와 일치 합 니 다. \ x0d 와 \ cM 과 같 습 니 다.
\s
빈 칸, 탭 문자, 페이지 바 꾸 기 등 모든 공백 문자 와 일치 합 니 다. [\ f \ r \ t \ v] 와 같은 효 과 를 가 집 니 다.
\S
공백 문자 가 아 닌 문자 와 일치 합 니 다. [^ \ f \ r \ t \ v] 와 같은 효 과 를 가 집 니 다.
\t
탭 문자 가 일치 합 니 다. \ x09 와 \ cI 와 같은 효 과 를 가 집 니 다.
\v
수직 탭 문자 가 일치 합 니 다. \ x0b 와 \ cK 와 같은 효 과 를 가 집 니 다.
\w
밑줄 친 것 을 포함 하여 모든 글자 와 일치 합 니 다. "[A - Za - z0 - 9]" 와 같은 효 과 를 가 집 니 다.
\W
단어 가 아 닌 문자 와 일치 합 니 다. "[^ A - Za - z0 - 9]" 와 같 습 니 다.
\xn
n 과 일치 합 니 다. 여기 있 는 n 은 16 진 전의 코드 입 니 다. 16 진 전의 코드 는 두 자릿수 길이 여야 합 니 다. 예 를 들 어 "\ x41" 은 "A" 와 일치 합 니 다. "\ x041" 은 "\ x04" & "1" 과 같 습 니 다. 정규 표현 식 에서 ASCII 코드 를 사용 할 수 있 습 니 다.
um
num 과 일치 합 니 다. 이 num 은 정수 입 니 다. 일치 하 는 역방향 인용 을 캡 처 할 때 까지 입 니 다. 예 를 들 어 "(.) \ 1" 은 두 연속 적 인 같은 문자 와 일치 합 니 다.
8 진 전의 코드 나 역방향 인용 을 표시 합 니 다. 앞 에 n 개의 캡 처 서브 표현 식 이 있 으 면 n 은 역방향 참조 입 니 다. 그렇지 않 으 면 n 이 8 진수 (0 - 7) 라면 n 은 8 진 전의 코드 입 니 다.
m
8 진 전의 코드 나 역방향 인용 을 표시 합 니 다. m 앞 에 nm 캡 처 서브 표현 식 이 있 으 면 nm 는 역방향 참조 입 니 다. m 앞 에 n 개 이상 캡 처 되 어 있 으 면 n 은 역방향 참조 이 고 뒤 에는 문자 m 가 있 습 니 다. 두 가지 앞의 상황 이 존재 하지 않 으 면 m 는 8 진 nm 와 일치 합 니 다. 그 중에서 n 과 m 는 8 진 숫자 (0 - 7) 입 니 다.
ml
n 이 8 진수 (0 - 3) 이 고 m 와 l 이 8 진수 (0 - 7) 일 때 8 진수 전의 코드 nml 와 일치 합 니 다.
\un
n 과 일치 합 니 다. 그 중에서 n 은 4 비트 16 진수 로 표 시 된 유 니 코드 문자 입 니 다. 예 를 들 어 \ u00A 9 는 저작권 기호 와 일치 합 니 다 (©)。
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
간단! Certbot을 사용하여 웹 사이트를 SSL(HTTPS)화하는 방법초보자가 인프라 주위를 정돈하는 것은 매우 어렵습니다. 이번은 사이트를 간단하게 SSL화(HTTP에서 HTTPS통신)로 변경하는 방법을 소개합니다! 이번에는 소프트웨어 시스템 Nginx CentOS7 의 환경에서 S...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.