React Router在生产时出现404错误

时间:2018-06-09 04:16:56

标签: javascript reactjs react-router

React Router适用于本地计算机,Chrome但不适用于Safari和其他浏览器,

 <Switch>
    <Route exact path={"/"} component={Home} />
    <Route path="/programs/:slug" component={Programs} />
    <Route path="/page/:slug" component={Page} />
    <Route component={NotFound} />
</Switch>

这就是我的代码,但它在开发模式下完美无错,但在生产时,当我导航到program /:slug或page /:slug时,safari会出现404错误

3 个答案:

答案 0 :(得分:2)

我将此添加到.htaccess

RewriteBase /
RewriteCond %{REQUEST_URI} !^/(assets/?|$)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.html [L]

感谢Kishan Mundha的解释

答案 1 :(得分:1)

您可能需要在服务器上配置单个入口点index.html。所有网址都应定位到index.html,并且入口点将决定如何根据路线呈现和内容。

答案 2 :(得分:1)

如果您使用的是pm2 serve,则只需添加--spa标志。