>백엔드 개발 >PHP 튜토리얼 >nginx 301 302 점프 구성 방법 및 요약

nginx 301 302 점프 구성 방법 및 요약

WBOY
WBOY원래의
2016-07-29 08:57:211086검색

재인쇄: http://blog.sina.com.cn/s/blog_5d73ba76010145rr.html

먼저 nginx 301 302 점프에 대한 전체 코드 예제를 살펴보세요.

301 점프 설정:

server {
listen 80;
server_name 123.com;
rewrite ^/(.*) http://456.com / $1 영구;
access_log off;
}

302 점프 설정:

서버 {
듣기 80;
server_name 123.com;
다시 쓰기 ^ /(.*) http://456.com/$1 리디렉션;
access_log off;
}

nginx 301 302 점프에 대한 자세한 문서 보기

서버 {
server_name test.com;
rewrite ^/(.*) http://www.test1.com/$1 영구;
}

last – 기본적으로 모두 이 플래그를 사용합니다.
break - 재작성을 중단하고 더 이상 일치를 계속하지 않음
redirect - 임시 리디렉션의 HTTP 상태 302 반환
permanent - 영구 리디렉션의 HTTP 상태 301 반환

Nginx 리디렉션은 Nginx HttpRewriteModule을 사용합니다. 다음은 사용 방법에 대한 간략한 설명입니다.
rewrite 명령

nginx의 rewrite는 apache의 rewriterule과 동일합니다(대부분의 경우 원래 apache의 rewrite 규칙에 직접 따옴표를 추가할 수 있음). 서버, 위치 및 IF 조건 판단 블록에서 사용할 수 있습니다. 명령 형식은 다음과 같습니다.
rewrite 정규식 대체 대상 플래그 태그
플래그 태그는 다음 형식을 사용할 수 있습니다.
last - 기본 이 플래그를 사용합니다. 모든 것에.
break - Rewirte를 중단하고 더 이상 일치를 계속하지 않습니다.
redirect - 임시 리디렉션의 HTTP 상태 302를 반환합니다.
permanent - 영구 리디렉션의 HTTP 상태 301을 반환합니다.

특별 주의:

last 및 break는 URL 재작성을 구현하는 데 사용됩니다. 브라우저 주소 표시줄의 URL 주소는 변경되지 않지만 서버 측에서 액세스하는 경로는 변경됩니다.

redirect 및 영구는 URL 점프 및 영구를 구현하는 데 사용됩니다. 탐색 후 URL 주소는 브라우저 주소 표시줄에 표시됩니다.


예를 들어, 다음 단락은 특정 디렉터리 아래의 파일을 다른 디렉터리로 리디렉션하도록 nginx를 설정합니다. $2는 두 번째 디렉터리에 해당합니다. 대괄호(. *) 해당 문자열:
location /download/ {
rewrite ^(/download/.*)/m/(.*)..*$ $1/nginx-rewrite/$2.gzbreak;
}
nginx 리디렉션의 IF 조건 판단

서버 상황과 위치 상황 모두 nginx의 IF 조건 판단을 사용할 수 있습니다.
정규 표현식

예:
일치 판단
~은 대소문자를 구분하는 일치를 의미하고, !~는 대소문자를 구분하지 않는 것을 의미합니다.
~*는 대소문자를 구분하지 않는 일치를 의미하고, !~*는 대소문자를 구분하지 않는 일치를 의미합니다. 🎜> 예를 들어 다음 설정 nginx는 사용자가 ie를 사용할 때 /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 없음 차단됨 www.test.com www.test1.com;
if ($invalid_referer) {
return 404;
}
}

위 내용은 관련 내용을 포함하여 nginx 301 302 점프 구성 방법과 요약을 소개하고 있어 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.