2025年6月8日 星期日 乙巳(蛇)年 三月十二 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 服务器 > Nginx

nginx泛解析域名实现多级域名多个同时绑定

时间:08-20来源:作者:点击数:47

利用nginx泛域名解析配置二级域名和多域名,实现二级域名子站,用户个性独立子域名。

主要针对用户独立子域名这种情况,不可能在配置里面将用户子域名写完,因此需要通过nginx泛解析方式。

配置方法:

  • server_name ~^(?<subdomain>.+)\.yourdomain\.com$;

通过匹配subdomain即可。而在下面的可以通过$subdomain这个变量获取当前子域名称。

情况一:绑定子域名到统一目录,作为用户个性域名

这种情况下,只需要直接匹配就可以了,目录都是指向同一个地方的(一般)。

配置实例:

  • server {
  • listen 80;
  • server_name yourdomain.com www.yourdomain.cpm ~^(?<subdomain>.+)\.m\.yourdomain\.com$;
  • index index.php index.html index.htm;
  • set $root_path '/var/www/yanue.net';
  • root $root_path;
  • try_files $uri $uri/ @rewrite;
  • location @rewrite {
  • rewrite ^/(.*)$ /index.php?_url=/$1;
  • }
  • location ~ \.php {
  • fastcgi_pass 127.0.0.1:9000;
  • }
  • location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
  • root $root_path;
  • }
  • location ~ /\.ht {
  • deny all;
  • }
  • }

这样可以实现:

user.m.yourdomain.com 跳转到用户自己页面

当然跳转逻辑需要自己在程序里面去实现。

情况二:绑定子域名到不同目录(子站)

网站的目录结构为

html

├── bbs

└── www

html为nginx的安装目录下默认的存放源代码的路径。

bbs为论坛程序源代码路径

www为主页程序源代码路径

把相应程序放入上面的路径通过

http://www.youdomain.com 访问的就是主页

http://bbs.yourdomain.com 访问的就是论坛

其它二级域名类推。

配置实例:

  • server {
  • listen 80;
  • server_name ~^(?<subdomain>.+)\.yourdomain\.com$;
  • root html/$subdomain;
  • index index.html index.htm index.php;
  • fastcgi_intercept_errors on;
  • error_page 404 = /404.html;
  • location / {
  • # This is cool because no php is touched for static content.
  • # include the "?$args" part so non-default permalinks doesn't
  • # break when using query string
  • try_files $uri $uri/ =404;
  • }
  • # redirect server error pages to the static page /50x.html
  • #
  • error_page 500 502 503 504 /50x.html;
  • location = /50x.html {
  • root html;
  • }
  • # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  • #
  • location ~ \.php$ {
  • fastcgi_pass 127.0.0.1:9000;
  • fastcgi_index index.php;
  • fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  • fastcgi_param domain $subdomain;
  • include fastcgi_params;
  • }
  • # deny access to .htaccess files, if Apache's document root
  • # concurs with nginx's one
  • #
  • location ~ /\.ht {
  • deny all;
  • }
  • }

 

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门