Маршрутизатор React работает только с / # / в URL-адресе, иначе ошибка 404 на сервере Ubuntu - PullRequest
0 голосов
/ 07 августа 2020

Мое приложение развернуто (npm run build) на сервере Ubuntu. Я использую маршрутизатор в своем приложении, и при нажатии на ссылку (например, свяжитесь с нами) он работает - пользователь перенаправляется на страницу.

Но если я пытаюсь получить доступ к свяжитесь с нами страница напрямую (http://my_ip / contact-us), я получаю ответ 404.

Примечание: Если я добавлю / # / к URL-адресу, это действительно работает! т.е. http://my_ip / # / contact-us.

Код:

 import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
    import history from './history';
    
        render() {
            return (
              <div className="page">
                <Router history={history}>
                <Header />
                  <Switch>
                    <Route path="/combination/:some_id" exact component={SomePage} />
                    <Route path="/" exact component={Home} />
                    <Route path="/contact-us" exact component={ContactUs} />
                  </Switch>
                </Router>
              </div>
            )
          }

История. js:

import { createBrowserHistory } from 'history';

export default createBrowserHistory();

Обновление Проблема заключалась в конфигурации Nginx: добавление следующей строки решило ее.

try_files $uri $uri/ /index.html;

Но теперь проблема связана с первым маршрутом (SomePage),

Я просто вижу пустую страницу ! Ошибка 404. Что это значит?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...