
앱이 모든 라우팅을 처리합니다. 따라서 다음 기본 구성 블록이 작동합니다.
location / {
try_files $uri $uri/ /index.html;
}
문제는 방문자가 특정 URI를 요청할 때마다 사용자 정의 헤더를 추가하고 싶다는 것입니다. 예를 들어, /content
. 음, 그건 다음과 같이 쉬울 것입니다:
location ~ ^/content {
try_files $uri $uri/ /index.html;
add_header X-CUSTOM-HEADER value;
}
하지만 그건 작동하지 않습니다. Nginx는 해당 헤더를 생성하지 않습니다. 그런 try_files
다음콘텐츠/content
블록이지만 루트 디렉터리에 "실제" 폴더가 없기 때문에 분명히 작동하지 않습니다 . 따라서 nginx는404 찾을 수 없음오류.
또한 해당 블록을 루트 위치 블록 내부로 이동하려고 했습니다. 작동하지 않습니다.
Apache에서는 다음을 사용하여 쉽게 수행할 수 있습니다.
<If "%{THE_REQUEST} =~ pattern">
Header set HEADER value;
</If>
답변1
매핑된 변수를 사용하여 헤더를 설정할 수 있습니다. 변수가 빈 문자열로 설정되면 헤더가 자동으로 삭제됩니다.
예를 들어:
map $request_uri $myheader {
~^/content a_value;
}
server {
...
add_header X-CUSTOM-HEADER $myheader;
location / {
try_files $uri $uri/ /index.html;
}
}