reactjs - 手动刷新或写入时,React-router url 不起作用,找不到 404 页面
问题描述
我的生产网站正常打开,但对于第一次访问/访问该链接的用户,他得到一个404 Page Not Found
. 对于已经访问过该网站的用户,它加载得很好。
这是网址 - https://literacycloud.org/readaloudsdetail/546-jennifer-phillips-reads-the-invitation。
理想情况下,它应该重定向到登录页面,但根本没有 api 被击中。只有在部署到开发或生活时,问题才会在本地重现,因此会出现此问题。
后端必须从他们的一端处理吗?
任何帮助表示赞赏。
解决方案
设置historyApiFallback
在您的webpack.config.js
. 结帐这个。
index.html
此外,从服务器为您服务是个好主意。这个想法是,无论您在域上访问什么 url,服务器都应始终返回 ,index.html
因为它包含您的反应代码。
这是一个示例代码:
const path = require('path');
const express = require('express');
const app = express();
app.use(express.static(path.join(__dirname, 'build')));
app.set('port', process.env.PORT || 8080);
app.get("*", (req, res, next) => {
const filePath = path.join(__dirname, 'build', 'index.html');
res.sendFile(filePath);
});
const server = app.listen(app.get('port'), function () {
console.log('listening on port ', server.address().port);
});
推荐阅读
- javascript - Full page parallax scroll effect for a web page
- mariadb - “Mariabackup:垃圾块”错误是什么意思?
- html - Firefox上奇怪的缩进空间
- html - 使用 CSS,如何在调整大小时正确对齐和维护 HTML 元素的布局?
- c++ - 在 Bazel 中显示编译器信息
- python - Python 和 Pandas:如何缩短单个列中的字符串值?
- c++ - 编译多文件 C++ 程序
- c# - Unity Scene - 重新启动按钮导致进程停止
- php - 带有 SMTP 的 Cakephp 3 电子邮件不起作用
- node.js - 我的代理服务器配置不好吗?