通配符域名重定向到 www 的结果是 www.www.domain.com

通配符域名重定向到 www 的结果是 www.www.domain.com

我正在尝试配置 OpenResty (nginx) 将任何非 www 域名重定向到 www。

但我要实现的是:www.www.domain.com

嗯?

这是我的服务器块

server {
    listen       80;
    server_name  ^$http_host$;
    return       301 http://www.$http_host$request_uri;
}

server {
    listen       80;
    server_name  ~^(www.)$$http_host;

    location = / {
        content_by_lua '
            ngx.say("Host: ", ngx.req.get_headers()["Host"])
        ';
    }
}

任何帮助是极大的赞赏。

答案1

经过反复尝试后,我找到了以下解决方法:

server {
    listen       80;
    server_name  $http_host;
    return       301 http://www.$http_host$request_uri;
}


server {
    listen       80;
    server_name  www.*;

    location = / {
        content_by_lua '
            ngx.say("Host: ", ngx.req.get_headers()["Host"])
        ';
    }
}

相关内容