【发布时间】:2020-09-14 17:57:40
【问题描述】:
我刚刚在 c-panel 上部署了我的 react 应用构建。该应用程序包含不同的路线,每次我尝试到达其中之一时,我都会得到404 Not found。
例如,如果我尝试访问http://example.com/,它将进入网站,如果我按下链接到http://example.com/articles 的按钮,它将起作用。但是,如果我尝试从我共享的链接中获取http://example.com/articles,或者只是输入此地址,我将得到404 Not found。当我在 localhost 上运行开发模式时,不会发生这种情况。
我更改了 package.json 中的主页 url - "homepage": "http://example.com", 并没有效果。
我的应用根目录用 <Router> 包裹
function App() {
return (
<Provider store={store}>
<Router>
<React.Fragment>
<CssBaseline />
<Header title="exampletitle" />
<MobileHeader />
<Main />
<BottomNavbar />
</React.Fragment>
</Router>
</Provider>
);
}
这是由路由操纵的 Main.js 组件。
function Main(props) {
return (
<div>
<Switch>
<Route exact path="/" component={Homepage} />
<Route exact path="/about" component={About} />
<Route exact path="/signup" component={Registerpage} />
<Route exact path="/ap" component={Adminpage} />
<Route exact path="/signin" component={SignIn} />
<Route exact path="/userpanel" component={UserPanelPage} />
<Route path="/article/:category" component={Articlepage} />
<Route path="/articlepage/:id" component={ReadArticlePage} />
</Switch>
</div>
);
}
当我通过链接直接输入这些页面时,有人可以告诉我如何加载这些页面吗?
【问题讨论】:
-
您拥有最接近
articles的path="/article/:category"。可能是笔误。或者它尝试从后端渲染路由,这就是为什么它是 404。 -
@norbitrial 我不是专门谈论这条路线。所有路线都在做同样的事情。
-
可能是后端试图寻找路线,我已经解释了类似的场景in this answer,也许这有助于理解发生了什么。
标签: reactjs react-router nodes