最近,遇到一個問題,希望通過一台主機,實現無限個域名訪問,結合對nginx的了解,通過nginx解析帶*的萬能域名,實現不同的訪問。以下我個人對這塊的記錄,希望對感興趣的小伙伴有幫助!!!
一 、配置域名與解析
在域名解析時,配置解析的域名為不控制域名,可以參考如下配置(阿里雲配置)
其中:主機記錄為:*,表示可以匹配任何的二級域名
如:www.qyjsk.com blog.qyjsk.com ...

二、配置Nginx解析域名
打開Nginx目錄,找到conf/nginx.conf

修改http 下面的server 配置項,配置如下
server { listen 80; server_name *.qyjsk.com;#綁定域名,* 代表任何二級域名 set $subdomain 'www'; #設置默認二級子目錄為www #判斷當二級域名不是www時,重新設置二級子目錄名稱,如blog.qyjsk.com ,則$subdomain的值為blog if ($host ~* (\b(?!www\b)\w+)\.\w+\.\w+) { set $subdomain $1; } #配置根路徑訪問 location / { #當主機地址為www.qyjsk.com時,打開百度 if ( $host = www.qyjsk.com ){ rewrite /(.*) http://www.baidu.com permanent; } root app/$subdomain; #對應nginx下app目錄下的二級文件夾 index index.html index.php; #默認訪問index/index.html/index.php文件 } }
在nginx根目錄下新建一個文件夾app(與nginx的conf目錄同級),在app目錄下新建一個文件夾,如下圖

在blog文件夾下,添加一個index.html文件,內容如下
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<h2>歡迎訪問博客頁面</h2>
</body>
</html>

三、測試
訪問http://www.qyjsk.com網站時,地址已經由http://www.qyjsk.com改變成https://www.baidu.com

訪問http://blog.qyjsk.com網站時,地址沒有被重定向,默認訪問了app/blog文件夾下的index.html文件

以上就是測試結果,也達到了預期目標,希望本文對大家有所幫助!!!
