Создайте-реакция-приложение с реакции-маршрутизатором v3, размещенным на S3, не работает с "Получить как Google" - PullRequest
0 голосов
/ 04 мая 2018

В настоящее время у меня есть приложение React, созданное с помощью приложения create-Reaction-app с использованием response-router v3, размещенного на S3 через CloudFront. Приложение представляет собой вид PHP-API, размещенного в другом месте. Реактор-маршрутизатор настроен на использование browserHistory.

В настоящее время мы пытаемся настроить приложение, чтобы оно могло сканироваться Google, и тестируем его с помощью инструментов Google для веб-мастеров и "Получить как Google".

Домашняя страница не доставляет проблем, но любая внутренняя страница не может даже отрендериться и возвращает "not found".

На сайте также по-прежнему отображается сообщение об ошибке 404 при попытке напрямую перейти к маршруту в новой вкладке (но загружает страницу, как ожидается).

Что я пробовал до сих пор: 1) импорт babel-polyfill в точке входа для googlebot. 2) настроить страницы ошибок CloudFront для отправки 404 ответов в /index.html с 200 3) установить страницу ошибки для s3 в index.html

Из моего прочтения, Google не должен требовать рендеринга на стороне сервера только для сканирования сайта (SEO для нас не проблема), но ни одно из других решений, которые я нашел в Интернете, похоже, не решило проблему.

Нужно ли мне сделать так, чтобы все приложение могло обрабатывать SSR, что-то простое, например: https://github.com/facebook/create-react-app/blob/master/packages/react-scripts/template/README.md#serving-apps-with-client-side-routing, или есть другие вещи, которые я могу попробовать, которые просто сделают страницу сканируемой без каких-либо настроек на стороне сервера?

Буду признателен за любую помощь или направление к дальнейшим ресурсам!

1 Ответ

0 голосов
/ 07 мая 2018

Я обнаружил, что решение было довольно простым. В дистрибутиве облачного фронта настройте пользовательские страницы ошибок так, чтобы 404 ошибки переходили к цели "/" с ответом http 200.

Множество других людей опубликовали его с целью "/index.html", если это не сработает, просто попробуйте выше.

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