Firebase Hosting에서 SPA를 다시 로드할 때 Page Not Found가 될 때의 조치
추가
$ firebase init
때때로 이미지처럼 SPA URL의 거동을 설정할 수 있는 질문이 있는 것 같습니다."Configure as a single-page app..."부분입니다.
이것을
y
+ Enter
에서 firebase.json
규칙을 추가해주는 것 같습니다.Firebase Hosting의 기본 동작
Firebase Hosting은 기본적으로 정적 index.html 파일을 읽는 것 같습니다. React는 react-router와 같은 라우팅 라이브러리를 사용하므로 실제로 index.html이 없습니다. 그래서 루트 디렉토리 이외에서 리로드를하면 이렇게 404를 반환합니다.
대책
firebase.json
파일의 hosthing
속성에 rewrites
규칙을 추가하여 공개 디렉토리 아래의 모든 액세스를 루트의 index.html을 읽으십시오.
Before
firebase.json{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "build",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
}
}
After
firebase.json{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "build",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "/public/**",
"destination": "/public.html"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
}
이제 404가 되지 않습니다.
참고
Page not found when reloading Angular page on Firebase
Reference
이 문제에 관하여(Firebase Hosting에서 SPA를 다시 로드할 때 Page Not Found가 될 때의 조치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/atona/items/2bcac0afbec83260928d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
firebase.json
파일의 hosthing
속성에 rewrites
규칙을 추가하여 공개 디렉토리 아래의 모든 액세스를 루트의 index.html을 읽으십시오.Before
firebase.json
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "build",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
}
}
After
firebase.json
{
"firestore": {
"rules": "firestore.rules",
"indexes": "firestore.indexes.json"
},
"hosting": {
"public": "build",
"ignore": ["firebase.json", "**/.*", "**/node_modules/**"],
"rewrites": [
{
"source": "/public/**",
"destination": "/public.html"
},
{
"source": "**",
"destination": "/index.html"
}
]
}
}
이제 404가 되지 않습니다.
참고
Page not found when reloading Angular page on Firebase
Reference
이 문제에 관하여(Firebase Hosting에서 SPA를 다시 로드할 때 Page Not Found가 될 때의 조치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/atona/items/2bcac0afbec83260928d
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(Firebase Hosting에서 SPA를 다시 로드할 때 Page Not Found가 될 때의 조치), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/atona/items/2bcac0afbec83260928d텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)