Express 3.0でこれを行う方法について何か考えはありますか? www 以外の URL は、Web サイトのさまざまな領域で非常に奇妙な問題を引き起こしているためです。
ありがとう!
Express 3.0でこれを行う方法について何か考えはありますか? www 以外の URL は、Web サイトのさまざまな領域で非常に奇妙な問題を引き起こしているためです。
ありがとう!
答えは私にはうまくいきませんでした。
次のコードを使用しました ( http://redirect-www.org/#nodejs ):
//REDIRECT www.domain.com TO domain.com
app.get ('/*', function (req, res, next){
var protocol = 'http' + (req.connection.encrypted ? 's' : '') + '://'
, host = req.headers.host
, href
;
// no www. present, nothing to do here
if (!/^www\./i.test(host)) {
next();
return;
}
// remove www.
host = host.replace(/^www\./i, '');
href = protocol + host + req.url;
res.statusCode = 301;
res.setHeader('Location', href);
res.write('Redirecting to ' + host + req.url + '');
res.end();
});
注意: これにより、www が非 www にリダイレクトされます。反対の場合はnot
、if
条件の を削除host = host.replace(/^www\./i, '');
してから、host = 'www.' + host;
だから私は別の質問から答えを見つけました。
Node.js: Express なしで非 www を 301 リダイレクトする
前に検索して申し訳ありません
app.get ('/*', function (req, res, next){
if (!req.headers.host.match(/^www\./)){
res.writeHead (301, {'Location': 'http://mysite.com'});
}else{
return next();
}
});