首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Nodejs -重定向url

Nodejs -重定向url
EN

Stack Overflow用户
提问于 2010-10-31 15:48:40
回答 7查看 282K关注 0票数 134

当用户输入无效的url时,如何让node.js服务器将用户重定向到404.html页面?

我做了一些搜索,看起来大多数结果都是针对Express的,但我想用纯node.js编写我的服务器。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-10-31 15:57:19

确定“错误”url的逻辑是特定于您的应用程序的。这可能是一个简单的文件找不到错误或其他东西,如果你正在做一个RESTful应用程序。一旦你弄清楚了这一点,发送一个重定向就像这样简单:

代码语言:javascript
复制
response.writeHead(302, {
  'Location': 'your/404/path.html'
  //add other headers here...
});
response.end();
票数 222
EN

Stack Overflow用户

发布于 2013-09-29 07:23:18

如果您使用的是ExpressJS,可以使用:

代码语言:javascript
复制
res.redirect('your/404/path.html');
票数 79
EN

Stack Overflow用户

发布于 2010-11-03 14:32:23

要指示缺少的文件/资源并提供404页面,您不需要重定向。在同一请求中,您必须生成状态代码设置为404的响应,并将404HTML页面的内容作为响应正文。下面是用Node.js演示这一点的示例代码。

代码语言:javascript
复制
var http = require('http'),
    fs = require('fs'),
    util = require('util'),
    url = require('url');

var server = http.createServer(function(req, res) {
    if(url.parse(req.url).pathname == '/') {
        res.writeHead(200, {'content-type': 'text/html'});
        var rs = fs.createReadStream('index.html');
        util.pump(rs, res);
    } else {
        res.writeHead(404, {'content-type': 'text/html'});
        var rs = fs.createReadStream('404.html');
        util.pump(rs, res);
    }
});

server.listen(8080);
票数 19
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4062260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档