Я использую приведенный ниже код для перенаправления всего своего трафика на версию https без www, т.е. для одного моего приложения, размещенного на поддомене. Должно работать в следующих случаях:
Все вышеперечисленное следует перенаправить на https://subdomain.domain.com.
Я пробую это в своем приложении Node.js.
app.use('*', function(req, res, next) {
// https
if (req.headers["x-forwarded-proto"] == "https") {
// https with www
if (req.headers.host.match(/^www/) !== null) {
res.redirect(301, 'https://' + req.headers.host.replace(/^www\./, '') + req.url);
}
// https without www
else {
next();
}
}
// http
else {
// http with www
if (req.headers.host.match(/^www/) !== null) {
res.redirect(301, 'https://' + req.headers.host.replace(/^www\./, '') + req.url);
}
// http without www
else {
res.redirect("https://subdomain.domain.com" + req.url);
}
}
});
Я не могу заставить работать перенаправление. Для четвертого URL, т.е. www.subdomain.domain.com, я также обновил свой DNS.