【发布时间】:2018-12-15 13:40:01
【问题描述】:
我将我的 React 网站 build/ 文件夹部署到 AWS S3 存储桶中。
如果我转到www.mywebsite.com,它可以工作,如果我点击a 标签转到项目和关于页面,它会引导我到正确的页面。
但是,如果我复制并发送页面 url 或直接访问如下链接:www.mywebsite.com/projects,它会返回 404。
这是我的App.js 代码:
const App = () => (
<Router>
<div>
<NavBar/>
<Switch>
<Route exact path="/" component={Home}/>
<Route exact path="/projects" component={Projects}/>
<Route exact path="/about" component={About}/>
<Route component={NoMatch}/>
</Switch>
</div>
</Router>
);
【问题讨论】:
-
我认为这不是 React Router 的问题,而是您的服务器没有在
/以外的任何其他路由上为您的index.html和bundle.js提供服务。它需要在所有路由上提供这些文件。 -
stackoverflow.com/a/23544903/5079258 的可能欺骗。您需要将错误(在这种情况下为 404)重定向到根
index.html
标签: javascript reactjs amazon-web-services amazon-s3