#reactjs #firebase #react-router #react-router-dom #firebase-hosting
#reactjs #firebase #react-маршрутизатор #react-router-dom #firebase-хостинг
Вопрос:
У меня есть приложение React, размещенное на Firebase, и я купил пользовательский доменwww.encor.cc чтобы мое приложение могло быть развернуто по этому URL. Однако даже после перенаправления моего пользовательского URL (encor.cc ) на веб-URL, развернутый firebase (adripa-4771c.web.app), encor.cc отсутствуют все остальные страницы, кроме главной страницы ‘/’.
Если я посещаю encor.cc прямо сейчас работает только целевая страница, а все остальные страницы дают мне 404. Однако все страницы работают в adripa-4771c.web.app
Есть предложения о том, как это исправить? Спасибо
Это мой обзор консоли firebase:
Редактировать:
Вот как я настраиваю свои ссылки с помощью react-router-dom. Кроме того, мое приложение настроено с помощью create-react-app.
ReactDOM.render(
<ThemeProvider theme={theme}>
<Router history={history}>
<Switch>
<Route exact path="/" component={Landing} />
<Route exact path="/register" component={Register} />
<Route exact path="/login" component={Login} />
<Route exact path="/admin" component={Admin}/>
<Route exact path='/:user' component={User}/>
<Route exact path='/l/terms' component={Terms}/>
<Route exact path='/l/privacy' component={Privacy}/>
<Route exact path='/l/contact' component={Contact}/>
<Route exact path='/l/blog' component={Blog}/>
<Route exact path='/l/faq' component={Faq} />
<Route exact path='/l/about' component={About}/>
<Route exact path='/l/plans' component={Plans}/>
<Route exact path='/l/forgot' component={Forgot}/>
</Switch>
</Router>
</ThemeProvider>,
document.getElementById('root')
);
Комментарии:
1. Не уверен, как вы структурировали папку хостинга. encor.cc/l/plans Я был перенаправлен на
domain.com/I/plans
можете ли вы сохранить все HTML-файлы в общей папке и повторить попытку2. Хм .. Как мне это сделать? ха-ха; Все мои ссылки настроены в index.js поскольку я обновил свой пост кодом
3. Если я захожу
adripa-4771c.web.app
и нажимаю «планы», я получаю 404, поэтому я вижу одинаковое поведение между обоими доменами. 404 предполагает, что вам необходимо настроить перезаписи хостинга для обслуживанияindex.html
всех запросов. firebase.google.com/docs/hosting/full-config#rewrites
Ответ №1:
Добавление этого, казалось, решило проблему
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
]