Heim  >  Fragen und Antworten  >  Hauptteil

Nginx-Servername entspricht dem Problem mit dem Domänennamen der zweiten Ebene

Bei der Konfiguration von Nginx muss Servername mehrere Domänennamen der zweiten Ebene konfigurieren. Weitere Informationen finden Sie in diesem Artikel, Originaltext http://bneijt.nl/blog/post/name-based-vi...

Der Auszug lautet wie folgt:

server {
    server_name ~^((?<subdomain>.*)\.)?(?<domain>[^.]+)\.(?<tld>[^.]+)$;
    if ($subdomain = "") {
        set $subdomain "_";
    }
    location / {
        index index.html;
        root /srv/http/vhost/${domain}.${tld}/${subdomain};
    }
}

Meine Konfiguration wurde auf dieser Grundlage leicht geändert. Der Inhalt lautet wie folgt:

server {
    server_name  ~^((?<subdomain>.*)\.)aa\.com$;
    if ($subdomain = "") {
        set $subdomain "www";
    }
        
    location / {
        root   /var/www/${subdomain}.aa.com/public;
        index  index.html index.htm;
    }
}

Frage:
Wenn die Subdomain leer ist, kann sie nicht in www umgewandelt werden. Das heißt, wenn Sie www.aa.com im Browser eingeben, können Sie darauf zugreifen, aber wenn Sie aa.com direkt eingeben, ist dies nicht möglich darauf zugreifen. Dies ist ein regulärer Ausdruck ~^((?<subdomain>.*).)aa.com$ oder andere Probleme?

我想大声告诉你我想大声告诉你2713 Tage vor718

Antworte allen(1)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 17:19:43

    正则改成:
    ~^((?<subdomain>.*)\.)?aa\.com$
    试试

    注意,没有在环境中验证哈。

    还有就是域名访问,需要域名解析配置A记录的。
    www.aa.com和aa.com需要两条A记录。

    最好,两个地方都检查一下。

    Antwort
    0
  • StornierenAntwort