我需要检查HTTP请求的HOST
,如果等于example.com
或者www.example.com
,则需要进行301重定向。
如何使用Node.js和Express Web框架实现这个功能?
我需要检查HTTP请求的HOST
,如果等于example.com
或者www.example.com
,则需要进行301重定向。
如何使用Node.js和Express Web框架实现这个功能?
req.headers.host;
或者req.header('host');
两者都将返回主机名,例如 localhost:3000
Express.js指南 - request.hostname
Express.js指南 - response.redirect
req.header('host')
在你的请求处理程序中使用它。
注:该语句用于获取请求头中的host信息。req.headers.host
吗? - Camilo Martin使用正则表达式进行字符串搜索,如下所示:
if ( req.headers.host.search(/^www/) !== -1 ) {
res.redirect(301, "http://example.com/");
}
搜索方法接受一个正则表达式作为第一个参数,用斜杠括起来表示。表达式中的第一个字符 ^ 表示显式查看字符串的开头。表达式的其余部分正在寻找三个明确的 w。如果字符串以 "www" 开始,则搜索方法将返回匹配的索引(如果有)(0),否则返回 -1。