Есть конструкция на React -
<BrowserRouter>
<div className="app">
<Switch>
<Route exact path="/">
<Home />
</Route>
<Route path="/about">
<About />
</Route>
<Route path="/contacts">
<Contacts />
</Route>
<Route
path="/blog/:id"
render={(props) => {
return <CurrentArticle {...props} />;
}}
/>
<Route path="/blogs">
<Blog />
</Route>
<Route>
<NotFound />
</Route>
</Switch>
</div>
</BrowserRouter>
Локально переходы по страницам работают, 404 отображается ок. Прямые ссылки типа "
localhost:3000/contacts" тоже работают.
Но на бою выдает 404 Not Found от nginx по адресу mysite.ru/contacts. Хотя если перейти на страницу из меню, с главной, то она отображается.
И почему тогда в таком случае не работает кастомная страница 404?
Может проблема в конфиге сервера?
Сейчас так
server {
server_name mysite.ru;
root /var/www/mysite/build;
index index.html;
location / {
try_files $uri $uri/ $uri.html =404;
}
}