基于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文件

以上就是测试结果,也达到了预期目标,希望本文对大家有所帮助!!!
作者:IT民工郑小江
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号