我的项目在本地服务器环境中运行良好,但由于我将其部署在render.com的Web服务器上,因此每当我尝试刷新或访问具有主页以外端点的URL时,都会得到一个空的未找到页面。我在这里读到了这一点,并试图实现全面解决方案,但它不适合我。我的项目由两个文件夹组成客户端和服务器。我正在使用服务器作为我托管的Web服务器的入口点,但我不确定它是否无法从客户端文件夹发送文件。
我尝试将以下代码段添加到server.js文件中。
const clientPath = path.resolve(__dirname, '..', 'client', 'build')
// Serve static files from the build directory
app.use(express.static(clientPath))
// Catch-all route handler
app.get('*', (req, res) => {
console.log('in catch-all')
res.sendFile(path.join(clientPath, 'index.html'))
})
catch-all位于文件的末尾,在所有配置的API端点之后,以防它与上述任何一个端点都不匹配。当我尝试访问一个随机端点时,console.log('incatch-all')不会打印在服务器的日志上。
1条答案
按热度按时间9bfwbjaz1#
在使用Apache的情况下,可以添加一个.htaccess文件,如下所示:
否则,您可以复制index.html文件并将其重命名为200.html。希望能帮上忙。