网站首页 > 技术教程 正文
把一个域名在DNS那边做了泛解析。理论上一个域名可以有N个二级域名。比如有域名abcdomain.com,然后要配置N个二级域名,配置文件要N个server配置:
server {
server_name abc.abcdomain.com;
root /home/abcdomain.com/abc;
index index.html index.php;
...
}
server {
server_name xyz.abcdomain.com
root /home/abcdomain.com/xyz;
index index.html index.php;
...
}
server {
server_name opq.abcdomain.com
root /home/abcdomain.com/opq;
index index.html index.php;
...
}
如果一个一个的去配置,麻烦不说,还会造成非常庞大的nginx配置文件,消耗了内存不说还会导致启动速度变慢。那么二级域名泛解析如何避免庞大的配置文件?nginx的server_name 的参数支持三种形式,可以是常量,就是直接域名字符串,也可以使用通配符,最重要的是可以使用正则表达式。
比如上面的这个我们可以配置成一个server:
server {
server_name ~^(?<subdomain>[a-z0-9]+)\.abcdomain.com;
root /home/abcdomain.com/$subdomain;
index index.html index.php;
...
}
如果是不想匹配所有的主域名和子域名
server {
server_name ~^(?<subdomain>[a-z0-9]+)\.(?<domain>[a-z0-9\-]+)\.(?<domext>[a-z]+);
root /home/$domain.$domext/$subdomain;
index index.html index.php;
...
}
但是,一定要注意,如果没做处理,php脚本收到的$_SERVER['SERVER_NAME' ]就这个正则表达式,你不是你认为的相应的域名,这会导致一系列的问题。那么如何让PHP可以获取到正确的域名呢?如果你使用的php-fpm,那么编辑/usr/local/nginx/conf/fastcgi_params(注意,你的环境不一定是这个文件)
#fastcgi_param SERVER_NAME $server_name;
fastcgi_param SERVER_NAME $subdomain.$domain.$domext; 或
#fastcgi_param SERVER_NAME $host;
理论上,使用$host也是不太可靠的,当然就目前主流的浏览器大部分应该是没问题的。
猜你喜欢
- 2024-10-10 使用 nginx 同域名下部署多个 vue 项目,并使用反向代理
- 2024-09-12 踩坑记录之MinIO添加HTTPS访问(邮箱访问记录多地登录失败是否意味着邮箱被侵入)
- 2024-09-12 申请免费证书、域名解析以及nginx部署配置https为微信小程序服务
- 2024-09-12 Nginx快速入门之Nginx反向代理与负载均衡
- 2024-09-12 宝塔面板如何用uwsgi与nginx快速部署Django项目
- 2024-09-12 使用 nginx 实现在同一个微信公众号授权域名下访问正式版和测试版
- 2024-09-12 使用nginx:1.24.0-bullseye部署Nginx域名、端口、子目录配置方法
- 2024-09-12 Nginx实现301跳转至https的根域名展示
- 2024-09-12 配置nginx代理grafana实现域名访问
- 2024-09-12 关于TP3.2 nginx下配置子域名(nginx 配置php)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)