React Router - возврат 404 условно в компонентах - PullRequest
0 голосов
/ 18 октября 2018

Вот настройка маршрутов:

<Route path="/" component={App}>
  <IndexRoute component={Home}/>
  <Route path="/:subject" component={SubjectPage}/>
  <Route path="*" component={NotFound} />
</Route>

Таким образом, каждый параметр субъекта будет идти к компоненту SubjectPage, где в компоненте я проверяю предопределенный массив «допустимых» субъектов, чтобы решить, должна ли страница бытьоказаны.Если тема отсутствует в массиве, я перенаправлю на страницу с ошибкой.

Но проблема в том, что веб-сервер возвращает код успеха 200 независимо.Это не хорошо для SEO.Что я должен сделать здесь, чтобы сервер возвращал код успеха 404 для недопустимых предметов?

1 Ответ

0 голосов
/ 18 октября 2018

Невозможно обновить заголовки (например, код состояния от 200 до 404) на стороне клиента.Вы должны сделать это в своем бэкэнде.Это означает, что вам необходим серверный рендеринг (SSR)

. См. в этом руководстве , чтобы настроить рендеринг на стороне сервера и узнать, как обслуживать NotFound с использованием статуса 404

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