Производственная сборка ReactJS: получение 404 не найденных ошибок при обновлении страницы, даже если настроен htaccess catch all

#reactjs #apache

#reactjs ( реакция ) #апач #reactjs #apache

Вопрос:

Я развернул приложение reactjs на сервере apache, на котором также размещен django. Приложение работает нормально, если только при обновлении страницы оно не перенаправляется на django с Page not found (404) ошибкой. Теперь я изо всех сил пытаюсь исправить это, поскольку я следовал всем директивам, которые я нашел в другом месте на этом сайте, следующим образом.

Я добавил htaccess в папку, где index.html находится следующее

 <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^index.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteCond %{REQUEST_FILENAME} !-l
  RewriteRule . /index.html [L]
</IfModule>
  

Вот как я а настроил свою маршрутизацию на react

  <div className="App">
        <BrowserRouter basename={``}>
          <ScrollContext>
            <Switch>
              <Route
                path={`${process.env.PUBLIC_URL}/login`}
                component={LoginForm}
              />
              <Route
                path={`${process.env.PUBLIC_URL}/invoices/:bookingId`}
                component={Invoice}
              ></Route>
//more code
  

и вот package.json конфиг

 {
  "name": "marvellous-ventures-admin",
  "homepage": "https://marvellousventures.com/dashboard",
  "version": "0.1.0",
  

Кто-нибудь, пожалуйста, поможет мне исправить эту проблему?

Ответ №1:

Потратив на это смехотворно много времени, я, наконец, разобрался, в чем проблема, и, о боже, я чувствую себя глупо. Как вы можете видеть в моем вопросе, есть предыдущая косая черта, которая вызывала у меня проблемы, как вы можете видеть здесь. RewriteRule . /index.html [L] Я удалил косую черту, и мое приложение может обновляться без выдачи ошибки.