[英]All Node.js/Express routes returning 404 on hosted server
我最近开始用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配置。
如果它是给你404的Express那么你应该在正文中看到404响应作为纯文本:
Cannot GET /api/new
这是标准的Express消息。 如果你没有看到它,那么Express就不会给你那个答案,而是其他的东西 - 可能是Apache。
确保将Apache正确配置为您尝试从浏览器访问的主机名和端口的反向代理,并将请求传递到可以访问Node应用程序的正确主机和端口。
看那些教程:
sudo服务apache2删除
节点app.js
如果您需要apache上的节点,请参阅此文档
同一服务器上的Apache和Node.js
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.