繁体   English   中英

通过静态服务器提供服务,而无需让人们陷入404

[英]Serving react over static server without having people running into 404

我有一个反应的网站上投放了: https://aero.mysite.com/profile在我反应过来的应用程序,并且我用的路由器和history.push /替换,从而能够有路径,例如https://aero.mysite.com/profile/path?query=number 但是,假设有人将这个网址复制并粘贴到其他人,他或她将得到404,因为在静态服务器上实际上并不存在https://aero.mysite.com/profile/path ...(我正在使用我制作的koa +文件服务中间件)。 有什么解决方案来应对这一挑战?

如果您使用的是BrowserRouter或类似的浏览器,则将其替换为在网络服务器路径和前端路由之间添加“#”的哈希路由器

浏览器路由器看起来像这样http://example.com/about

而哈希路由器看起来像这样http://example.com/#/about

这将防止Web服务器处理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'));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM