Перенаправленный веб-сайт, размещенный на Firebase, содержит не все страницы

#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:

консоль хостинга 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"
      }
    ]