首页 > 解决方案 > 刷新或手动写入时“在此服务器上找不到请求的 URL”

问题描述

我对 React 和 web 开发还很陌生,并且创建了一个简单的站点。

在 localhost 上一切正常,但是当我构建它并启动它时,发生了这个错误,即当我写出页面的全名 - www.xxx.com/AboutUs时,它给出了“404 Not Found - The requested URL was在此服务器上找不到。”

但是,当我单击页脚中的链接时,它可以访问和查看该页面,但是当我刷新 /AboutUs 页面时,会弹出相同的错误。

我试图用几种解决方案来修复它,但它们要么已经过时,要么不符合最佳实践。据我了解,它必须与我的 BrowserRouter 做一些事情,所以我将附上代码。如前所述,通过单击页脚中的链接可以转到 /AboutUs 页面。

class Routes extends React.Component {
render() {
    return (
        <Switch>
            <Route exact path="/" component={Frontpage} />
            <Route exact path="/AboutUs" component={AboutUs} />
            <Route path="/*" component={ErrorPage} />
        </Switch>
    );
}

}

导出默认路由;

这是我如何处理页脚中的链接

<Link to='/AboutUs' id="mailTo2">About Us</Link>

标签: reactjshttp-status-code-404

解决方案


更新。

我通过添加带有以下代码的.htaccess 文件来修复它

Options -MultiViews
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.html [QSA,L]

推荐阅读