我正在为我的应用程序使用 react-router,当我将它部署到服务器上时,我注意到如果我在打开主页 URL 之前请求任何 URL,它将返回 404。然后在访问主页 URL 后,所有其他 URL 都可以正常工作!
索引.tsx:
ReactDOM.render(
<BrowserRouter>
<App />
</BrowserRouter>
,
document.getElementById('root') as HTMLElement
);
应用程序.tsx:
public render()
{
return(
<div className="App">
<div className="row margin-auto">
<Header/>
<Main/>
</div>
</div>
)
}
主文件.tsx:
public render()
{
return (
<div id="main" className="col col-9-and-half no-padding-h vh-100">
<div className="container-fluid no-padding-h">
<main>
<Switch>
<Route path='/home' component={Home} />
<Route exact={true} path='/' component={Home} />
<Route path="/matches" component={Matches} />
<Route path='/login' component={Login} />
<Route path='/sign-up' component={SignUp} />
<Route path='/contact-us' component={ContactUs} />
</Switch>
</main>
</div>
</div>
)
}
例如,当我尝试打开 www.mywebsite.com/sign-up 时,它会返回 404,但是如果我先打开 www.mywebsite.com 然后尝试访问 www.mywebsite.com/sign-up 它将正常工作。