在設定nginx的時候,server_name需要設定多個二級域名,參考的這篇文章,原文http://bneijt.nl/blog/post/name-based-vi...
摘錄如下:
server {
server_name ~^((?<subdomain>.*)\.)?(?<domain>[^.]+)\.(?<tld>[^.]+)$;
if ($subdomain = "") {
set $subdomain "_";
}
location / {
index index.html;
root /srv/http/vhost/${domain}.${tld}/${subdomain};
}
}
我的設定參考這篇稍作修改,內容如下:
server {
server_name ~^((?<subdomain>.*)\.)aa\.com$;
if ($subdomain = "") {
set $subdomain "www";
}
location / {
root /var/www/${subdomain}.aa.com/public;
index index.html index.htm;
}
}
問題:
在subdomain為空的時候,不能轉換為www,也就是,在瀏覽器中輸入www.aa.com,可以訪問,但是直接輸入aa.com,就不能訪問,是正規表示式~^((?<subdomain>.*)\.)aa\.com$
的問題還是其他問題?
正規改成:.*).)?aa.com$
~^((?
試試
注意,沒有在環境中驗證哈。
還有就是網域訪問,需要網域解析配置A記錄的。
www.aa.com和aa.com需要兩筆A紀錄。
最好,兩個地方都檢查一下。