nginx를 사용하여 URL을 유지하고 싶지만 실제로는 동일한 페이지를로드합니다. URL을 with History.getState()
javascript 앱에서 요청을 라우팅하는 데 사용합니다. 간단한 일인 것 같아요?
location / {
rewrite (.*) base.html break;
}
작동하지만 URL을 리디렉션합니까? 여전히 URL이 필요합니다. 항상 같은 페이지를 사용하고 싶습니다.
nginx를 사용하여 URL을 유지하고 싶지만 실제로는 동일한 페이지를로드합니다. URL을 with History.getState()
javascript 앱에서 요청을 라우팅하는 데 사용합니다. 간단한 일인 것 같아요?
location / {
rewrite (.*) base.html break;
}
작동하지만 URL을 리디렉션합니까? 여전히 URL이 필요합니다. 항상 같은 페이지를 사용하고 싶습니다.
답변:
나는 이것이 당신을 위해 그것을 할 것이라고 생각합니다 :
location / {
try_files /base.html =404;
}
try_files '' /base.html;
(에 첫 번째 인수로 빈 문자열은 try_files
)라는 파일의 조회를 방지합니다 $uri
.
try_files '' /base.html;
리디렉션 문제와 내부 서버 오류가 발생했지만 try_files '' /base.html =404;
누군가에게 도움이된다면 수정하여 수정했습니다 .
사용하는 것이 효과 try_files
가 없었습니다 . 로그에 다시 쓰기 또는 내부 리디렉션주기 오류가 발생했습니다.
Nginx 문서에는 몇 가지 추가 세부 정보가 있습니다.
http://nginx.org/en/docs/http/ngx_http_core_module.html#try_files
그래서 나는 다음을 사용하여 끝났습니다.
root /var/www/mysite;
location / {
try_files $uri /base.html;
}
location = /base.html {
expires 30s;
}
try_files '' /base.html =404;
(위 참조)
location = /base.html { expires 30s }
부분이 필요하지 않았습니다 .
이것은 나를 위해 일했다 :
location / {
alias /path/to/my/indexfile/;
try_files $uri /index.html;
}
이를 통해 자바 스크립트 단일 페이지 앱에 대한 포괄 URL을 만들 수있었습니다. css, fonts 및 javascript와 같은 모든 정적 파일은와 npm run build
같은 디렉토리에 있으면 찾을 수 있습니다 index.html
.
정적 파일이 다른 디렉토리에 있다면 어떤 이유로 든 다음과 같은 것이 필요합니다.
# Static pages generated by "npm run build"
location ~ ^/css/|^/fonts/|^/semantic/|^/static/ {
alias /path/to/my/staticfiles/;
}