【发布时间】:2019-10-08 10:36:18
【问题描述】:
我正在重做我的投资组合以做出反应。所以相当新。我在这里面临的问题是,当我将我的反应项目托管到服务器时,一切正常,使用路由,在导航时将页面移动到顶部等, 但是我观察到,当我关闭我的网站选项卡并尝试直接访问组件时。例如,如果我执行“http://mywebsite.com”,它会起作用。但是,如果我执行“http://mywebsite.com/contact”,则页面变为 404,并且该组件确实存在。两种方法都适用于 localhost,但不适用于托管服务器 (Hostinger)
我尝试在网上搜索,但找不到任何可靠的答案,StackOverflow 上的许多帖子都说它与服务器相关的错误,但没有说明如何修复它。
React-router urls don't work when refreshing or writing manually
How to fix 404 not found when accessing the routes in the url. (SPA REACT)
react-router-dom Build Giving 404 When Accessing URL Directly, But Not In Development
这就是我的导航链接和路由的设置方式 -
class mainContent extends React.Component {
render() {
return (
<Router>
<div>
<nav id="navbar">
<span>
<NavLink exact to="/">
PRASHANTH KUMAR SRIPATHI
</NavLink>
</span>
<li-item>
<NavLink to="/contact" id="nav-item" className="item">
<i className="fa fa-comments-o" /> Contact
</NavLink>
</li-item>
<li-item>
<NavLink to="/resume" id="nav-item" className="item">
<i className="book icon" /> Resume
</NavLink>
</li-item>
<li-item>
<NavLink to="/portfolio" id="nav-item" className="item">
<i className="list alternate icon" /> Portfolio
</NavLink>
</li-item>
<li-item>
<NavLink exact to="/" id="nav-item" className="item">
<i className="home icon" /> Home
</NavLink>
</li-item>
{/*<li-item>
<NavLink to="/about/" className="item">
<i className="address card icon" /> About
</NavLink>
</li-item> */}
</nav>
<div className="content" id="main">
<Switch>
<Route exact path="/" component={home} />
<Route path="/contact" component={contactMe} />
<Route path="/resume" component={resume} />
<Route path="/portfolio" component={portfolio} />
{/*<Route path="/about" component={about} />*/}
</Switch>
</div>
<div className="footer">
<footer className="relative">
© 2019 - Prashanth Kumar Sripathi
</footer>
</div>
</div>
</Router>
);
}
}
我怎样才能解决这个问题,使它不显示 404。我不想以重定向到“http://mywebsite.com”的方式解决这个问题,因为如果我要建立另一个可以应对 sn- ps 我需要分享一下,它只会将它重新路由到索引页面。
【问题讨论】:
-
您的 Switch 中缺少路由,或者您的路由名称有错字
-
嗨 Rikin,这只是一个例子,我更新了问题。
-
好的,我看到你的问题是 SPA 的工作方式是你必须从你的网络服务器重新路由到索引并让应用程序处理路由映射,因为你的服务器不知道你的前端路线
-
关于如何实现这一点的任何建议?我对此真的很陌生。真的很感激。
-
这是解决此问题的简单文章。我们可以为任何 SPA 框架解决这个问题blog.almightytricks.com/2020/10/14/…
标签: reactjs react-router hosting