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?
正则改成:
~^((?<subdomain>.*)\.)?aa\.com$
试试
注意,没有在环境中验证哈。
还有就是域名访问,需要域名解析配置A记录的。
www.aa.com和aa.com需要两条A记录。
最好,两个地方都检查一下。