弄了几天终于用node实现了类型百度的那种域名重定向。输入baidu.com,他会自动跳转到https://www.baidu.com。(这里不说https的问题)。前端能实现这个东西,为了b格高一点,还是选择在服务器端处理。

输入baidu.com

自动跳转到www.baidu.com

就是想要达到这种想过。最开始想到的是域名重定向,网上搜索了一下,基本上都是说的使用res.redirect()这个方法。具体的怎么做没有说。只有自己慢慢研究了。先就是把这个方法直接加到node里面去

app.get('/*',function(req,res){res.redirect(302, 'http://www.meetqy.com/');
});

直接这样写的最后浏览器报错。

这个错误很低级。当时是不知道的。每次进入页面的时候,node就去执行

res.redirect(302, 'http://www.meetqy.com/');

然后就一直重定向到这个链接。每次链接还都一样,就报错了。后来想了个办法获取请求地址。使用req.hostname。可以获取到。

app.get('/*',function(req,res){if(req.hostname == 'meetqy.com') return res.redirect(302, 'http://www.meetqy.com/');
});

这样是可以解决这个域名重定向的问题的。但是后面如果你要写接口,或则路由什么的。根本进去不了。全部被这个重定向过去了。最后接口就报404错误。假如有个这种的。

app.get('/about',function(req,res){res.render('about');
});

这个方法就进去不到,404。都走到这里了肯定不能放弃啊,再想想其它的。发现又一个app.use()这个方法。说下我对这个方法的理解

app.use('/*',function(req,res,next){console.log(req.hostname);next();
});

把这个方法放在所有路由/接口的最前面,都会先走这个方法,然后在执行它后面的方法。一定要加next(),不然浏览器会一直处于等待响应状态。后面的方法也不会执行。

我试过放在最后面发现如果前面有满足条件的接口/路由,就进不去。(可能是因为javascript是单线程的原因吧,代码顺序执行的。)

最后实现这个重定向的代码:

app.use('/*',function(req,res,next){if(req.hostname == 'meetqy.com') return res.redirect(302, 'http://www.meetqy.com/');next();
});

就这样3行代码实现了域名重定向的功能。

原文地址:  https://www.meetqy.com/articledetail?id=23&class_id=2

关于nodejs域名重定向问题相关推荐

  1. Nginx安装、默认虚拟主机、Nginx用户认证、Nginx域名重定向

    12.6 Nginx安装 安装包下载到/usr/local/src目录 [root@taoyuan ~]# cd /usr/local/src [root@taoyuan src]# wget htt ...

  2. linux的Nginx安装、默认虚拟主机、用户认证、域名重定向配置介绍

    Nginx介绍 Nginx官网(http://nginx.org),最新版1.13,最新稳定版1.12 Nginx应用场景:web服务.反向代理.负载均衡 Nginx著名分支,淘宝基于Nginx开发的 ...

  3. 4.36域名重定向4.37用户认证4.38Nginx访问日志4.39日志不记录静态文件4.40日志切割...

    2019独角兽企业重金招聘Python工程师标准>>> 域名重定向 用户认证 Nginx访问日志 日志不记录静态文件 日志切割 域名重定向 配置第二个域名: vi /etc/ngin ...

  4. php nginx 域名重定向,Nginx默认虚拟主机、用户认证、域名重定向

    Nginx默认虚拟主机定义默认虚拟主机配置文件,在http下面加入include vhost/*.conf 在/usr/local/nginx/conf/下创建目录 #mkdir vhost/ //创 ...

  5. 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向

    12.6 Nginx安装 大纲 1 进入src目录,把nginx下载在此目录 #cd  /usr/local/src #wget http://nginx.org/download/nginx-1.8 ...

  6. 11-4 12 Nginx安装 默认虚拟主机 用户认证 域名重定向

    2019独角兽企业重金招聘Python工程师标准>>> 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 扩展 ngin ...

  7. linux更换域名全站301,linux服务器wdcp面板做301域名重定向设置

    wdcp面板做301域名重定向设置 大家一般习惯都是把abc.com做301重定向到www.abc.com上,不过在WDCP控制面板里做301重定向. 首先,在wdcp新建站点时就要注意了,最好新创建 ...

  8. Nginx默认虚拟主机、 Nginx用户认证、Nginx域名重定向、访问日志·····

    2019独角兽企业重金招聘Python工程师标准>>> Ngninx默认虚拟主机 1.vim /usr/local/nginx/conf/nginx.conf //增加 2.incl ...

  9. Nginx 单IP绑定多域名配置 顶级域名重定向到www域名

    在网站部署中,通常会有多个域名,可以是多个子域名也可以是其它域名,例如我的域名是yddsj.com,有以下域名需要绑定 www.yddsj.com blog.yddsj.com bbs.yddsj.c ...

最新文章

  1. NetXMS 1.2.6 发布,系统监控工具
  2. PHP5.4新特性(转)
  3. 安卓学习 之 Service服务(十)
  4. ElasticSearch---------------------step2,了解elasticsearch相关的基本概念
  5. 前端学习(2773):条件编译和跨端兼容
  6. 服务器配置 | 3306端口被占用,phpStudy无法启动Apache
  7. mysql 插入数据后显示乱码
  8. MSSQLSERVER查询分析器连接的方法
  9. 知识蒸馏 | 知识回顾
  10. [BZOJ] 1040: [ZJOI2008]骑士
  11. RNN神经网络- 吴恩达Andrew Ng 循环神经网络 NLP Transformers Week4 知识总结
  12. Unity 3D模型展示之场景更换背景
  13. qu32调音台说明书_调音台图解及使用说明
  14. 拉普拉斯修正学习笔记
  15. 什么区块链,统统都是骗局?
  16. 零信任时代,企业如何提升自身安全?
  17. 什么是串扰crosstalk
  18. 联想z400成功带起外置显卡gtx1050
  19. 循环函数:while循环和for循环及函数定义
  20. windows7装机必备软件及设置

热门文章

  1. 新浪IaskSpider
  2. 京东猎户座发布开源,配置化一键生成cms系统
  3. Python+Qt指纹录入识别考勤系统
  4. 基于高分辨影像城市绿地信息提取项目流程
  5. 这样的文字环绕效果,你绝对没有见过!
  6. 估值超10亿 同行者牵手腾讯 加速车联网布局
  7. contexcontext:component-scant:component-scan
  8. Day01—— 幂和对数
  9. github上基于milestone自动生成releaseNotes
  10. No serializer found for class ******** and no properties discovered to create BeanSerializer (to avo