ドメインの* .confファイルに次のものがあります。
server {
listen 80;
server_name domain.tld;
access_log /var/log/nginx/domain.tld.accesslog;
root /var/www/domain.tld;
index index.htm index.html;
}
私の質問は...すべてのサブドメインにdomain.tldと同じドキュメントルート(および一般的に同じ設定)を使用させたい場合はどうなりますか?
私はこれを試しました:
server {
listen 80;
server_name domain.tld;
server_name *.domain.tld;
access_log /var/log/nginx/domain.tld.accesslog;
root /var/www/domain.tld;
index index.htm index.html;
}
しかし、リロードした後でも、それは機能しませんでした。何か案は?
これを適切に処理するための 特別な構文 "sugar"があります:
server {
listen 80;
server_name .domain.tld; # ← this one's sweety
access_log /var/log/nginx/domain.tld.accesslog;
root /var/www/domain.tld;
index index.htm index.html;
}
ただし、元アセンブラプログラマが空き時間にCPUサイクルをカウントしている場合は、短い表記の単純さを サーバー名の明示的な長いリスト (10x2 @ cnst)と交換することをお勧めします。 )。
server_name domain.tld; server_name *.domain.tld;
上記が問題だと思います。代わりにこれを試してください:
server_name domain.tld *.domain.tld;