Nginx에서 하나의 도메인 이름으로 여러 프로젝트에 액세스하는 방법

PHPz
풀어 주다: 2023-05-16 21:37:20
앞으로
2111명이 탐색했습니다.

위치 모듈 매칭 소개

1. "=" 접두어 지시어 매칭, 매칭이 성공하면 다른 매칭이 중단됩니다.

2. 일반 문자열 명령어는 긴 것부터 짧은 것 순으로 일치합니다. 성공적으로 일치한 위치에서 ^~를 사용하면 다른 일치가 중지됩니다(정규 일치).

3. 정규식 명령 일치를 수행하고 구성 파일의 순서를 따르고 성공하면 다른 일치를 중지합니다.

4. 세 번째 단계에서 일치가 성공하면 결과를 사용하고, 그렇지 않으면 두 번째 단계 결과를 사용합니다.

Notes

1. 일치 순서는 일반 문자열을 먼저 일치시킨 다음 정규식을 일치시키는 것입니다. 또한, 일반 문자열의 매칭 순서는 긴 것부터 짧은 것까지 구성에 있는 문자의 길이를 기준으로 하기 때문에, 일반 문자열을 사용하여 구성한 위치의 순서는 무관하며, 결국 nginx는 길이에 따라 매칭하게 됩니다. 하지만 정규식은 구성 파일에 지정된 순서대로 테스트된다는 점에 유의해야 합니다. 첫 번째로 일치하는 정규식을 찾으면 검색이 중지됩니다.

2. 일반적인 상황에서는 일반 문자열 위치가 성공적으로 일치된 후에 정규식 위치 일치가 수행됩니다. 이 동작을 변경하는 방법에는 두 가지가 있는데, 하나는 "=" 접두사를 사용하는 것입니다. 이때 엄격한 일치가 수행되고 다른 일치는 일치가 성공한 후 즉시 중지되며 동시에 요청이 처리됩니다. 다른 하나는 "^~" 접두사를 사용하는 것입니다. 일반 문자열과 함께 사용하면 경로가 일치하면 정규식을 테스트하지 않도록 nginx에 지시합니다.

location = /uri
로그인 후 복사

= 시작 부분은 정확히 일치함을 나타내며 정확히 일치하는 경우에만 적용됩니다.

location ^~ /uri
로그인 후 복사

^~는 처음에 URL 경로에 대한 접두사 일치를 수행하고 정규식 앞에 옵니다.

location ~ pattern
로그인 후 복사

~의 시작 부분은 대소문자를 구분하는 일반 일치를 나타냅니다.

location ~* pattern
로그인 후 복사

~*는 대소문자를 구분하지 않는 일반 일치를 나타냅니다.

location /uri
로그인 후 복사

수식자가 없으면 접두사 일치를 의미하지만 일반 일치 이후입니다.

location /
로그인 후 복사

범용 일치, 다른 위치와 일치하지 않는 모든 요청이 일치되며 이는 스위치의 기본값과 동일합니다.

구성예

server {
 listen  80;
 server_name test.com;
 index index.html index.htm index.php;
 charset koi8-r;
 access_log /var/log/nginx/host.access.log main;

 # 域名+项目1名称
 location ^~ /a1/ {
   alias /usr/share/nginx/html/a1/public/;
 }

 # 域名+项目2名称
 location ^~ /a2/ {
   alias /usr/share/nginx/html/a2/public/;
 }

 error_page 404    /404.html;

 # redirect server error pages to the static page /50x.html
 
 error_page 500 502 503 504 /50x.html;
 location = /50x.html {
  root /usr/share/nginx/html/500.html;
 }

 #pass the php scripts to fastcgi server listening on 127.0.0.1:9000
 
 location ~ \.php$ {
  root   html;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param script_filename /scripts$fastcgi_script_name;
  include  fastcgi_params;
 }
 
 location ~ /\.ht {
  deny all;
 }
}
로그인 후 복사

효과 미리보기

1. a1 프로젝트를 방문하세요

Nginx에서 하나의 도메인 이름으로 여러 프로젝트에 액세스하는 방법

2.

위 내용은 Nginx에서 하나의 도메인 이름으로 여러 프로젝트에 액세스하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿