还有其他Stackoverflow问题,但在做他们说的话时我仍然会遇到错误:
此代码:
app.get('/*', function(req, res, next) {
if (req.headers.host.match(/^www/) == null ) res.redirect('http://www.' + req.headers.host + req.url, 301);
else next();
});
将我重定向到www.localhost:8080 ......
我尝试了其他语法,但仍无效:
app.get('/*', function(req, res, next) {
if (req.headers.host.match(/^www/) == null ) res.redirect('http://www.ride4you.co.il', 301);
else next();
});
(它会重定向太长时间,直到Chrome超时)。
我的问题是如何解决此问题,以便将网址栏中的任何类型的地址重定向到https://www.mydomain.co.il, 例如:mydomain.com www.mydomain.co.il http://mydomain.co.il,我希望他们所有人都指出我写的第一篇。
感谢。
答案 0 :(得分:0)
只允许您想要的特定主机,并抓住不太可能的情况,即它是没有主机头的HTTP / 1.0。
app.use((req, res, next) => {
if ( !req.headers.host || req.headers.host === 'www.mydomain.co.il' ) return next()
res.redirect('http://www.mydomain.co.il/', 301)
})
您可以在新网址中保留用户原始请求路径。
res.redirect('http://www.mydomain.co.il'+req.originalUrl, 301)