所以我读过类似的问题,但答案太复杂了,无法理解。我没有设置后端,我只是使用 create-react-app 并安装 react-router-dom,虽然我的网站可以在我的本地主机上刷新,但当我将它们上传到互联网上时,如果我刷新除主页以外的任何页面,他们会给出 404 未找到页面错误。
这些是我安装的程序的版本: "反应": "^16.6.3", "react-dom": "^16.6.3", "react-router-dom": "^4.3.1", "反应脚本":"2.1.1"
<BrowserRouter>
<div>
<Switch>
<Route exact path="/" component={Home}/>
<Route path="/didyoukno" component={Didyouknow}/>
<Route
render={() => (
<div>
<h1>Error 404: Not Found</h1>
<Link to="/">Go Home</Link>
</div>)}
/>
</Switch>
</div>
</BrowserRouter>
所以结果是在c面板上部署,你需要在公共文件夹中添加一个.htaccess:
Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]
现在对于刷新或历史记录,它将引用索引.html