关于nodejs域名重定向问题
弄了几天终于用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域名重定向问题相关推荐
- Nginx安装、默认虚拟主机、Nginx用户认证、Nginx域名重定向
12.6 Nginx安装 安装包下载到/usr/local/src目录 [root@taoyuan ~]# cd /usr/local/src [root@taoyuan src]# wget htt ...
- linux的Nginx安装、默认虚拟主机、用户认证、域名重定向配置介绍
Nginx介绍 Nginx官网(http://nginx.org),最新版1.13,最新稳定版1.12 Nginx应用场景:web服务.反向代理.负载均衡 Nginx著名分支,淘宝基于Nginx开发的 ...
- 4.36域名重定向4.37用户认证4.38Nginx访问日志4.39日志不记录静态文件4.40日志切割...
2019独角兽企业重金招聘Python工程师标准>>> 域名重定向 用户认证 Nginx访问日志 日志不记录静态文件 日志切割 域名重定向 配置第二个域名: vi /etc/ngin ...
- php nginx 域名重定向,Nginx默认虚拟主机、用户认证、域名重定向
Nginx默认虚拟主机定义默认虚拟主机配置文件,在http下面加入include vhost/*.conf 在/usr/local/nginx/conf/下创建目录 #mkdir vhost/ //创 ...
- 12.6-12.9 Nginx安装,默认虚拟主机,用户认证,域名重定向
12.6 Nginx安装 大纲 1 进入src目录,把nginx下载在此目录 #cd /usr/local/src #wget http://nginx.org/download/nginx-1.8 ...
- 11-4 12 Nginx安装 默认虚拟主机 用户认证 域名重定向
2019独角兽企业重金招聘Python工程师标准>>> 12.6 Nginx安装 12.7 默认虚拟主机 12.8 Nginx用户认证 12.9 Nginx域名重定向 扩展 ngin ...
- linux更换域名全站301,linux服务器wdcp面板做301域名重定向设置
wdcp面板做301域名重定向设置 大家一般习惯都是把abc.com做301重定向到www.abc.com上,不过在WDCP控制面板里做301重定向. 首先,在wdcp新建站点时就要注意了,最好新创建 ...
- Nginx默认虚拟主机、 Nginx用户认证、Nginx域名重定向、访问日志·····
2019独角兽企业重金招聘Python工程师标准>>> Ngninx默认虚拟主机 1.vim /usr/local/nginx/conf/nginx.conf //增加 2.incl ...
- Nginx 单IP绑定多域名配置 顶级域名重定向到www域名
在网站部署中,通常会有多个域名,可以是多个子域名也可以是其它域名,例如我的域名是yddsj.com,有以下域名需要绑定 www.yddsj.com blog.yddsj.com bbs.yddsj.c ...
最新文章
- NetXMS 1.2.6 发布,系统监控工具
- PHP5.4新特性(转)
- 安卓学习 之 Service服务(十)
- ElasticSearch---------------------step2,了解elasticsearch相关的基本概念
- 前端学习(2773):条件编译和跨端兼容
- 服务器配置 | 3306端口被占用,phpStudy无法启动Apache
- mysql 插入数据后显示乱码
- MSSQLSERVER查询分析器连接的方法
- 知识蒸馏 | 知识回顾
- [BZOJ] 1040: [ZJOI2008]骑士
- RNN神经网络- 吴恩达Andrew Ng 循环神经网络 NLP Transformers Week4 知识总结
- Unity 3D模型展示之场景更换背景
- qu32调音台说明书_调音台图解及使用说明
- 拉普拉斯修正学习笔记
- 什么区块链,统统都是骗局?
- 零信任时代,企业如何提升自身安全?
- 什么是串扰crosstalk
- 联想z400成功带起外置显卡gtx1050
- 循环函数:while循环和for循环及函数定义
- windows7装机必备软件及设置
热门文章
- 新浪IaskSpider
- 京东猎户座发布开源,配置化一键生成cms系统
- Python+Qt指纹录入识别考勤系统
- 基于高分辨影像城市绿地信息提取项目流程
- 这样的文字环绕效果,你绝对没有见过!
- 估值超10亿 同行者牵手腾讯 加速车联网布局
- contexcontext:component-scant:component-scan
- Day01—— 幂和对数
- github上基于milestone自动生成releaseNotes
- No serializer found for class ******** and no properties discovered to create BeanSerializer (to avo