最近,遇到一個問題,希望通過一台主機,實現無限個域名訪問,結合對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文件
以上就是測試結果,也達到了預期目標,希望本文對大家有所幫助!!!