Служба реагирует на статический сервер без людей, сталкивающихся с 404 - PullRequest
0 голосов
/ 20 марта 2019

У меня есть сайт реакции, обслуживающий: https://aero.mysite.com/profile, и я использую маршрутизатор и history.push / replace в своем приложении реагирования, что позволяет использовать путь, например https://aero.mysite.com/profile/path?query=number.Однако, скажем, если кто-то скопирует и вставит этот URL-адрес другому человеку, он или она получит 404, потому что на самом деле https://aero.mysite.com/profile/path не существует на статическом сервере ... (Я использую промежуточное программное обеспечение для обслуживания файлов koa +, которое я сделал).Каковы решения этой проблемы?

1 Ответ

1 голос
/ 20 марта 2019

Если вы используете BrowserRouter или что-то подобное, замените его на хеш-маршрутизатор, который добавляет «#» между путем к веб-серверу и маршрутом внешнего интерфейса

Браузер-роутер выглядит так http://example.com/about

пока хеш роутер выглядит так http://example.com/#/about

Это предотвратит обработку UI-маршрутизации веб-сервером

Для получения дополнительной информации прочитайте эту статью

import { HashRouter as Router, Route } from 'react-router-dom';

import App from './components/App';
import Home from './components/Home';
import About from './components/About';
import Services from './components/Services';

render((
  <Router>
    <div>
      <Route exact path="/" component={Home} />
      <Route path="/about" component={About} />
      <Route path="/courses" component={Services} />
    </div>
  </Router>
), document.getElementById('root'));
...