我最近开始使用 node.js 构建应用程序。一段时间后,我想将它移至我的托管帐户以对其进行真正的测试。
首先,我从源代码安装了 nodejs。 然后除了数据库登录外,我没有对代码进行任何更改。当我运行它时,没有错误。我兴奋地试了一下。令我沮丧的是,我编写的每条路线都收到 404。
例如:
router.route('/new')
.post(function(req, res){
//My Route Code
});
app.use('/api', router);
然后我去:
mywebsite.com/api/new
这会从我的 Apache 服务器返回一个 404 Not Found
错误。
我还想指出,我正在使用我正在使用共享主机,并且我还在我的测试服务器上离线彻底测试了我的代码。
我该如何修复它,以便我的代码实际路由我的请求?
最佳答案
看来这不是您的 Node 应用程序的问题,而是您的 Apache 配置的问题。
如果是 Express 为您提供 404,那么您应该会在正文中看到一个 404 响应,其中包含纯文本:
Cannot GET /api/new
这是一条标准的 Express 消息。如果您没有看到它,那么给您答案的不是 Express,而是沿途的其他东西 - 可能是 Apache。
确保您的 Apache 已正确配置为您尝试从浏览器访问的主机名和端口的反向代理,并将请求传递到可以访问您的 Node 应用程序的正确主机和端口。
查看那些教程:
关于javascript - 所有 Node.js/Express 路由在托管服务器上返回 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43100877/