我正在使用React路由为多页网站路由.当试图直接转到子页面https://test0809.herokuapp.com/signin时,你会得到一个"404 Not Found-nginx"错误(为了能够看到这个问题,你可能需要在匿名模式下转到这个链接,这样就没有缓存).所有的链接都可以正常工作,如果你从主页:test0809.herokuapp.com/
.我使用的是BrowserRouter,通过将BrowserRouter改为HashRouter,消除了"404 not found"错误,这给了我所有的URL一个"#"符号.除了URL中有"#"的所有问题之外,最大的问题是我需要在我的网站中实现LinkedIn Auth,LinkedIn OAuth 2.0不允许重定向URL包含#.
import React, { Component } from 'react'
import { BrowserRouter as Router, Route, Link } from 'react-router-dom'
import LinkedIn from 'react-linkedin-login'
const Home = () => <div><h2>Home</h2></div>
const About = () => <div><h2>About</h2></div>
class Signin extends Component {
callbackLinkedIn = code => {
console.log(1, code)
}
render() {
return (
<div>
<h2>Signin</h2>
<LinkedIn
clientId="clientID"
callback={this.callbackLinkedIn}
>
</div>
)
}
}
const BasicExample = () =>
<Router>
<div>
<ul>
<li>
<Link to="/">Home</Link>
</li>
<li>
<Link to="/about">About</Link>
</li>
<li>
<Link to="/signin">Signin</Link>
</li>
</ul>
<hr />
<Route exact path="/" component={Home} />
<Route path="/about" component={About} />
<Route path="/signin" component={Signin} />
</div>
</Router>
export default BasicExample
对解决办法有什么建议吗?
背景:我用create react应用程序启动了这个项目.GitHub回购:/debelopumento/test0809