Nginx
使所有子域使用與 nginx 相同的文件根目錄
我在我的域的 *.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; }
但這沒有用,即使在重新載入後也是如此。有任何想法嗎?
有一種特殊的語法“糖”可以優雅地處理這個問題:
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;