하위 폴더에 대한 Nginx 위치 구성
Nginx 구성에서는 향상된 구성 및 라우팅을 위해 특정 폴더 경로를 다른 URI에 매핑할 수 있습니다. 일반적인 시나리오는 디렉터리 내의 하위 폴더에 대한 액세스를 구성하는 것입니다.
/static 및 /manage라는 두 개의 하위 폴더가 있는 /var/www/myside/와 같은 경로 구조를 고려해보세요. 목표는 PHP 파일의 적절한 라우팅을 보장하면서 URI /(/static의 경우) 및 /manage(/manage의 경우)를 통해 이러한 하위 폴더에 액세스하는 것입니다.
초기 샘플 Nginx 구성은 다음과 같습니다.
server { listen 80; server_name example.org; error_log /usr/local/etc/nginx/logs/mysite/error.log; access_log /usr/local/etc/nginx/logs/mysite/access.log; root /var/www/mysite; location /manage { root $uri/manage/public; try_files $uri /index.php$is_args$args; } location / { root $uri/static/; index index.html; } location ~ \.php { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; } }
단, 이 구성은 /manage 액세스에 대해 올바르게 작동하지 않을 수 있습니다. 해결책은 다른 URI를 사용하여 하위 폴더에 액세스할 때 루트 대신 별칭 지시어를 사용하는 것입니다.
수정된 Nginx 구성은 다음과 같습니다.
server { ... location ^~ /manage { alias /var/www/mysite/manage/public; index index.php; if (!-e $request_filename) { rewrite ^ /manage/index.php last; } location ~ \.php$ { ... } } ... }
이러한 수정으로 구성은 / 루트를 사용하여 /를 정적으로 사용하고 별칭을 사용하여 /manage를 /manage합니다. 또한 try_files 지시문과 if 지시문은 이러한 하위 폴더 내에 존재하지 않는 파일에 대한 요청이 올바르게 처리되도록 보장합니다.
별칭과 루트 지시문을 결합하고 위치 블록을 적절하게 사용하여 Nginx를 다음과 같이 구성할 수 있습니다. 특정 URI가 있는 하위 폴더의 콘텐츠를 효과적으로 제공합니다.
위 내용은 다른 URI를 사용하여 하위 폴더를 제공하기 위해 Nginx 위치 블록을 효율적으로 구성하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!