Как фиксить 404 ошибку при перезагрузке приложения с react-router?

Есть реакт приложение на основе create-react-app, с react-router (Browser routing).
Поднимаю приложение локально с использованием nginx.
Перехожу например по ссылкам на localhost/page/group
Приложение и роутинг работает корректно.
Но если например обновить страницу, то отдается 404 ошибка.

конфиг nginx

server {
        listen			80;
        server_name	        app.ru;
		rewrite ^/spa/(.*) /$1 permanent;
		root			build;
		index  index.html;

		location / {
            try_files $uri /$uri /index.html;
        }
    }


Как правильно настроить чтобы при обновлении страницы корректно отображались страницы?
  • Вопрос задан
  • 1562 просмотра
Пригласить эксперта
Ответы на вопрос 1
PiCoderman
@PiCoderman
Вам нужно отдавать index.html со всех маршрутов за исключением тех, которые оканчиваются на .css/.js например.
server {
  ...

  location / {
    alias /static/folder;
    try_files /index.html /index.html;
  }

  location /assets {
    alias /static/folder/assets;
  }

  location ~ .+\.(css|js) {
    alias /static/folder;
  }
}


Что-то примерно такое
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы