nginx rewrite (nginx url 주소 재 작성)
3373 단어 nginx
nginx
URL 재 작성 을 위해 Rewrite 를 사용 합 니 다. Nginx 의 Rewrite 규칙 은 Pcre, perl 호 환 정규 표현 식 을 사용 합 니 다.
Nginx 의 Rewrite 기능 이 필요 하 다 면 Nginx 를 컴 파일 하기 전에 PCRE 라 이브 러 리 를 컴 파일 해 야 합 니 다.
먼저 nginx 의 if 명령 을 익 혀 보 세 요.규칙 문법:
if ($http_user_agent ~MSIE){
rewrite ^(.*)$/msie/$1 break;
}
if (!-f$request_filename){
rewrite ^/img/(.*)$/site/$host/images/$1 last;
}
그 다음은 rewrite 문법 규칙: 변수 이름:
변수 이름 은 "=" 또는 "! =" 연산 자 를 사용 할 수 있 습 니 다.
~ 기호 표시 대소 문자 구분 일치
~* 기호 표시 대소 문자 일치 구분 하지 않 음
!~ 와!~ 와 !~ 상반
-f 와! -f 파일 이 존재 하 는 지 여 부 를 판단 하 는 데 사용 합 니 다.
-d 와! -d 디 렉 터 리 존재 여 부 를 판단 하 는 데 사용 합 니 다.
-e 와! -e 파일 이나 디 렉 터 리 가 존재 하 는 지 판단 하 는 데 사용 합 니 다.
-x 와! -x 파일 이 실 행 될 수 있 는 지 여 부 를 판단 하 는 데 사용 합 니 다.
$1 ~ $9 위치 매개 변수 도 지원 합 니 다.
return 명령 예제: 방문 한 URL 이. sh. bash 로 끝나 면 상태 코드 403 을 되 돌려 줍 니 다.
location ~ .*\.(sh|bash)?$
{
return 403;
}
rewrite 명령 어
rewrite 명령 의 마지막 매개 변 수 는 flag 태그 이 고 지원 하 는 flag 표 시 는 주로 다음 과 같은 몇 가지 가 있 습 니 다.
last: 아파 치 리드 (L) 태그 에 해당 하 며, rewrite 가 완료 되 었 음 을 나타 낸다.
break;이 규칙 은 매 칭 이 완료 되면 매 칭 을 종료 하고 뒤의 규칙 과 일치 하지 않 습 니 다.
redirect: 302 임시 방향 변경 을 되 돌려 줍 니 다. 브 라 우 저 주 소 는 이동 한 URL 주 소 를 표시 합 니 다.
permanent: 301 을 되 돌려 영구적 으로 방향 을 바 꿉 니 다. 브 라 우 저 주소 표시 줄 에 이동 한 URL 주소 가 표 시 됩 니 다.
last 와 break 는 URL 재 작성 을 실현 합 니 다. 브 라 우 저 주소 표시 줄 의 URL 주 소 는 변 하지 않 습 니 다.
인 스 턴 스: 접근 / b 를 / bbs 디 렉 터 리 로 이동 합 니 다:
location /b {
autoindex on;
alias /usr/local/nginx/html/redhat;
rewrite ^/b/?$ /bbs permanent;
}
location /bbs {
autoindex on;
alias /usr/local/nginx/html/bbs;
}
rewrite 규칙 은 실례 1 을 작성 합 니 다. / b 에 접근 할 디 렉 터 리 를 / bbs 핵심 문장 으로 다시 씁 니 다. rewrite ^/b/?$ /bbs permannet;2. 브 라 우 저 에 따라 결 과 를 얻 을 수 있 습 니 다.
if ($http_user_agent ~ Firefox) {
rewrite ^(.*)$ /firefox/$1 break;
}
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /msie/$1 break;
}
if ($http_user_agent ~ Chrome) {
rewrite ^(.*)$ /chrome/$1 break;
}
3, 도 난 방지:
location ~*\.(gif|jpg|png|swf|flv)${
valid_referers none blocked www.jbxue.com*.test.com;
if ($invalid_referer)
rewrite ^/(.*) http://www.jbxue.com/error.html
}
4, 도 메 인 이름 전환 실현:
server {
listen 80;
server_name jbxue.example.com;
write ^(.*)$ http://zhang.example.com/$1 permanent;
location / {
root html;
index index.html index.htm;
}
관심 있 을 만 한 글:
nginx rewrite (nginx url 주소 재 작성) 의 설정 예제
nginx 에서 자주 사용 하 는 URL 재 작성 방법
nginx 설정 url 재 작성 및 사용자 정의 404 오류 페이지 등
Nginx 에서 자주 사용 하 는 URL 재 작성 방법
초 상세 NGINX URL 인 스 턴 스 설명 다시 쓰기
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 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에 따라 라이센스가 부여됩니다.