基於Nginx配置無限個二級域名


最近,遇到一個問題,希望通過一台主機,實現無限個域名訪問,結合對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文件

 

 

 

 

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM