질문: 현재 폴더의 파일 내용에 두 번째 폴더의 내용을 "추가"할 수 있습니까? (본질적으로 전체 Unix 관점에서 요청하고 있지만 대상이 웹 서버이므로 nginx도 작동할 수 있습니다.)
예:
/pub
우리 서버 소프트웨어가 어디에 있는지 알고 있습니다 . 하지만 나에게도 index.php
살 /static/files
곳이 있습니다 test.php
. 내가 원하는 test.php
것은 /pub
루트를 사용하여 nginx 웹 서버에 액세스하면 둘 다 루트에서 볼 /pub
수 있다는 것입니다 test.php and index.php
.
왜?
이제 루트 디렉터리에 있어야 하는 많은 유효성 검사 파일을 서버에 추가했기 때문입니다. bing_dfsfsfsdfs.html
그리고 다른 파일들 google_aaddasdjsad.html
. 이는 다중 서버 설정이므로 파일 수가 상당히 많습니다. 저는 /static/files
이 모든 개별 파일을 저장할 수 있는 폴더를 만들고 ... /pub
소프트웨어를 사용하여 폴더를 깨끗하게 유지하려고 합니다.
답변1
순전히 nginx 관점에서 볼 때 이것은 직업처럼 보입니다.try_files
. 를 사용하면 try_files
nginx에게 주어진 URI에 대해 여러 위치를 시도하도록 지시할 수 있습니다. 그래서 이렇게 :
location ~ ^/([^/]+)$ {
try_files $uri /static/files/$1 =404;
}
사용할 정확한 구문은 잘 모르겠지만 요점은 nginx에게 먼저 파일의 기본 루트를 시도한 다음 static/files
루트 내의 디렉터리를 시도하고 아무것도 작동하지 않으면 마지막으로 404를 반환하도록 지시하는 것입니다.
답변2
당신은 그것을 사용할 수 있습니다alias
http://nginx.org/en/docs/http/ngx_http_core_module.html#alias
지정된 위치에서 대체를 정의합니다.
location ~ ^/(.+\.(?:gif|jpe?g|png))$ {
alias /static/files/$1;
}