> 백엔드 개발 > PHP 튜토리얼 > nginx 위치 구성 지침

nginx 위치 구성 지침

WBOY
풀어 주다: 2016-07-29 08:33:11
원래의
1189명이 탐색했습니다.

Nginx의 Location 지시어는 NginxHttpCoreModule의 중요한 지시어입니다. Location 지시문은 일치하는 URI를 구성하는 데 사용됩니다. URI는 구문에서 "/uri/"이며 문자열 또는 정규식일 수 있습니다. 하지만 정규식을 사용하려면 접두사를 지정해야 합니다.

nginx 위치 구문

기본 구문: 위치 [=|~|~*|^~] /uri/ { … }

= 엄격한 일치. 이 쿼리가 일치하면 검색이 중지되고 요청이 즉시 처리됩니다.
~ 대소문자 구분 일치(정규식 사용 가능)
~* 대소문자 구분 없음 일치(정규식 사용 가능)
!~ 및 !~* 대소문자 구분 비일치 및 비일치 각각 대소문자 구분 불일치
^~ 일반 문자열과 함께 사용하는 경우 경로가 일치하면 정규식을 테스트하지 않도록 nginx에 지시합니다.

위치 구문: location [=|~|~*|^~] /uri/ { … }
참고:
1, ~는 대소문자를 구분하여 일치합니다.
2, ~ * 대소문자를 구분하지 않는 일치
3, !~ 및 !~*는 각각 대소문자를 구분하지 않는 불일치 및 대소문자를 구분하지 않는 불일치

예 1:

위치 / { }

은 모든 요청이 /로 시작하므로 모든 쿼리와 일치합니다. 그러나 쿼리 일치에서는 정규식 규칙이 우선적으로 적용됩니다.

예 2:

 代码如下 复制代码
location =/ {}

일치만/

예 3:

코드는 다음과 같습니다 코드 복사
위치 ~ * .(gif|jpg|jpeg)$ {
 代码如下 复制代码
location ~* .(gif|jpg|jpeg)$ {
rewrite .(gif|jpg)$ /logo.png;
다시 작성 .(gif|jpg)$ /logo.png;

참고: 대소문자를 구분하지 않으며 gif, jpg, jpeg


nginx 위치 적용 예
 代码如下 复制代码

location = / {
 # 只匹配 / 查询。
 
}location / {
 # 匹配任何查询,因为所有请求都已 / 开头。但是正则表达式规则和长的块规则将被优先和查询匹配。
 
}location ^~ /images/ {
 # 匹配任何已 /images/ 开头的任何查询并且停止搜索。任何正则表达式将不会被测试。
 
}location ~* .(gif|jpg|jpeg)$ {
 # 匹配任何已 gif、jpg 或 jpeg 结尾的请求。
 
}location ~* .(gif|jpg|swf)$ {
  valid_referers none blocked start.igrow.cn sta.igrow.cn;
  if ($invalid_referer) {
  #防盗链
  rewrite ^/ http://$host/logo.png;
  }
}
location ~* .(js|css|jpg|jpeg|gif|png|swf)$ {
if (-f $request_filename) {
   #根据文件类型设置过期时间
   expires    1h;
   break;
}
}
location ~* .(txt|doc)${ 
 #禁止访问某个目录
    root /data/www/wwwroot/linuxtone/test;
    deny all;
}

코드 복사
코드는 다음과 같습니다

location = / {
# 오직 일치/쿼리.

}location / {
# 모든 요청은 /로 시작하므로 모든 쿼리와 일치합니다. 그러나 정규식 규칙과 긴 블록 규칙은 우선 순위가 지정되어 쿼리와 일치됩니다.

}location ^~ /images/ {
# /images/로 시작하는 쿼리를 일치시키고 검색을 중지합니다. 정규식은 테스트되지 않습니다.

}location ~* .(gif|jpg|jpeg)$ {
# gif, jpg 또는 jpeg로 끝나는 요청을 일치시킵니다.

}위치 ~* .(gif|jpg|swf)$ {
valid_referers 없음 차단됨 start.igrow.cn sta.igrow.cn;
if ($invalid_referer) {
# 핫링크 방지
재작성 ^/ http://$host/logo.png;
}
}
위치 ~* .(js|css|jpg|jpeg|gif|png|swf) $ {
if (-f $request_filename) {
#파일 형식에 따라 만료 시간 설정
1시간 만료;
break;

}
}위치 ~ * .(txt |doc)${

#특정 디렉토리에 접근 불가

root /data/www/wwwroot/linuxtone/test;

모두 거부;

}
++ 사용 가능한 일부 전역 변수$args$content_length$content_type$document_root$document_uri $host$http_user_agent$http_cookie$limit_rate$request_body_file$request_method$remote_addr$remote_port$remote_user$request_filename $request_uri$query_string$scheme$server_protocol$server_addr$server_name$server_port$uri 위 내용은 관련 내용을 포함하여 nginx 위치 구성 지침을 소개한 내용이므로 PHP 튜토리얼에 관심이 있는 친구들에게 도움이 되기를 바랍니다.
관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿