когда я напрямую посещаю "https://xyz/логин", отображается ошибка "404 not found", но после выхода с домашней страницы ("https://xyz/") меня перенаправляет на "https://xyz/логин".
Эта проблема начинается после развертывания моего приложения create-реагировать. мы использовали сервер nginx для развертывания.
Вот простая статья, чтобы решить эту проблему. Мы можем решить эту проблему для любого фреймворка SPAhttps://blog.almightytricks.com/2020/10/14/how-to-fix-404-page-not-found-error-after-build- in-angular-или-реагировать-или-vue-js/





Установите базовое имя в BrowserRouter.
<BrowserRouter basename='/xyz'>
<Route exact path='/' />
</BrowserRouter>
можешь уточнить @anil
Отредактируйте nginx/sites-available/default в ВИМ ИЛИ нано, как вы предпочитаете, на вашем сервере.
vi /etc/nginx/sites-available/default
nano /etc/nginx/sites-available/default
Изменить ниже
location / {
try_files $uri $uri/ =404;
}
к
location / {
try_files $uri $uri/ /index.html;
}
but it redirect me to 'https://xyz/login' after logout from home page ('https://xyz/').
Вы можете войти в систему от кнопки выхода из системы, потому что 'create-react-app' и BrowserRouter активны и могут выполнять маршрутизацию только с домашней страницы /, т.е. Если вы заходите в /someLink, ваш сервер не знает, что с ним делать, то он прочитал правило, чтобы перейти к ошибке 404. Вышеизложенное изменяет все запросы на то, чтобы они всегда направлялись на вашу домашнюю страницу, чтобы BrowserRouter мог взять их оттуда.
Если вы хотите узнать больше об этой проблеме, ознакомьтесь с этим вопросом: Обсуждение
примечание: с точки зрения поисковой оптимизации Google по-прежнему сканирует SPA, но проверяйте https://www.npmjs.com/package/react-моментальный снимок для оптимизации SPA.
Вы пытались добавить "домашнюю страницу":"." stackoverflow.com/questions/43011207/…