请问下各位大佬,编译后部署怎么访问不了其他路由

2020-05-18 09:37:40 +08:00
 autoname
http://localhost:3000/main
http://localhost:3000/login
http://localhost:3000/admin

调试模式下,本地都可以访问

编译后部署到虚拟机,就访问不了,

访问一直都是 login 默认路由页面。

其他页面

直接抛出 nginx 的 404 页面。

也不是我自定的 react 路由里面的 404 页面


`

import React from 'react'
import {BrowserRouter as Router,Route,Switch} from "react-router-dom"
import App from '../App'

import Home from '../test/Login'
import Login from '../test/Login'
import Admin from '../test/Admin'
import Info from '../test/Info'
import NoMatch from '../tool/No404'
import Main from '../test/Main'
//import Cir from '../tool/Circling'

//https://blog.csdn.net/qq_42813491/article/details/92579240
export default class Routers extends React.Component{

componentDidMount() {
//console.log('ddd');
}

render() {
return(
<Router>
<App>
<Switch>
<Route path="/main" render={
()=>
<Main>
<Route path="/main/:values" component={Info} />
</Main>
}>
</Route>

<Route exact path="/" component={Home} />
<Route path="/login" component={Login}/>
<Route path="/admin" component={Admin} />
<Route component={NoMatch}></Route>
</Switch>
</App>

</Router>

);
}
}`
1404 次点击
所在节点    React
3 条回复
otakustay
2020-05-18 09:42:18 +08:00
因为你的 nginx 啥的没有配 try_files 规则吧
https://segmentfault.com/a/1190000013218418
qinxi
2020-05-18 09:43:39 +08:00
因为路由被 nginx 接管了
autoname
2020-05-18 09:47:15 +08:00
这。。。还要配置 nginx 规则。。。
谢谢大佬,

try_files $uri $uri/ $uri/index.html /$1/ /$1/index.html;
解决了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/672743

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX