文档章节

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

 蜗牛奔跑
发布于 2015/11/02 14:34
字数 553
阅读 3416
收藏 13

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

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

配置方法:

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

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

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

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

配置实例


  
  
  1. server {


  2.     listen   80;

  3.     server_name yourdomain.com www.yourdomain.cpm ~^(?<subdomain>.+)\.m\.yourdomain\.com$;


  4.     index index.php index.html index.htm;

  5.     set $root_path '/var/www/yanue.net';

  6.     root $root_path;


  7.     try_files $uri $uri/ @rewrite;


  8.     location @rewrite {

  9.         rewrite ^/(.*)$ /index.php?_url=/$1;

  10.     }


  11.     location ~ \.php {

  12.             fastcgi_pass   127.0.0.1:9000;

  13.     }


  14.     location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {

  15.         root $root_path;

  16.     }


  17.     location ~ /\.ht {

  18.         deny all;

  19.     }

  20. }

这样可以实现:

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

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

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

网站的目录结构为

html
├── bbs
└── www

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

bbs为论坛程序源代码路径

www为主页程序源代码路径

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

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

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

其它二级域名类推。

配置实例


  
  
  1. server {

  2.         listen       80;

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

  4.         root   html/$subdomain;

  5.         index  index.html index.htm index.php;

  6.         fastcgi_intercept_errors on;

  7.         error_page  404      = /404.html;

  8.         location / {

  9.                 # This is cool because no php is touched for static content.

  10.                 # include the "?$args" part so non-default permalinks doesn't

  11.                 # break when using query string

  12.                 try_files $uri $uri/ =404;

  13.        }


  14.         # redirect server error pages to the static page /50x.html

  15.         #

  16.         error_page   500 502 503 504  /50x.html;

  17.         location = /50x.html {

  18.             root   html;

  19.         }


  20.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

  21.         #

  22.         location ~ \.php$ {

  23.             fastcgi_pass   127.0.0.1:9000;

  24.             fastcgi_index  index.php;

  25.             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;

  26.             fastcgi_param  domain $subdomain;

  27.             include        fastcgi_params;

  28.         }


  29.         # deny access to .htaccess files, if Apache's document root

  30.         # concurs with nginx's one

  31.         #

  32.         location ~ /\.ht {

  33.             deny  all;

  34.         }

  35.     }

参考:http://www.nginx.cn/612.html


本文转载自:

粉丝 38
博文 615
码字总数 118352
作品 0
海淀
私信 提问
加载中

评论(2)

c
cj901218zsy
这个楼主看得不难受么
FingerLiu
FingerLiu
文章是干货,但是代码排版和颜色看着太难受了吧。。
分析启用二级域名建站的好处与弊端

用二级域名做子站的好处就是可以在出现问题时对于主站的影响很小,而且在一定的程度上还可以帮助主站获得更多的忠 诚用户,但是使用二级域名建站有好处也有坏处。 现在很多的大型网站的论坛都...

xiaodaiyy11
2012/01/09
111
0
Nginx多Server反向代理配置

Nginx强大的正则表达式支持,可以使server_name的配置变得很灵活,如果你要做多用户博客,那么每个用户拥有自己的二级域名也就很容易实现了。 下面我就来说说server_name的使用吧: server_n...

Aman_li
2014/12/04
308
0
Nginx关于个性二级域名的配置

在很多地方,比如说博客网站。我们经常可以会通过网站提供的配置功能,实现个性化的属于个人的二级域名,比如说http://cevin15.oschina.net。当然,OSC的博客目前还没有这个功能。 最近遇到个...

英强
2015/03/01
5.5K
10
在apache下建立多个站点

在apache下建立多个站点 在httpd.conf中使用如下内容 NameVirtualHost 211.161.197.119 <VirtualHost 211.161.197.119> ServerName bug.54ncr.com DocumentRoot /www/http/mantisbt </Virtu......

蜗牛奔跑
2015/11/02
32
0
【seo】二级目录域名与二级域名的选择

最近学seo,因为公司之前的域名都是http://www.xxx.com/xx/这样子的目录域名,后来开始使用二级域名:http://fy.xxx.com 发现百度收录一直有问题,很久都不能收录 于是网上找了一些关于二级目...

kobe52099
2018/06/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud Sleuth 整合 feign 源码分析

org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClient 包括创建span一些参数

xiaomin0322
14分钟前
2
0
Less 延伸

extend 是一个 Less 伪类,它通过使用 :extend 选择器在一个选择器中扩展其他选择器样式。 扩展语法 扩展可以是附加到选择器,也可以是集中放置在规则,看上去像是带有选择器参数的可选伪类,...

凌兮洛
14分钟前
2
0
RedHat 7.0系统中安装mysql 5.7.22

在安装之前,首先要查看的是,你的系统中有没有已经安装过的情况。键入rpm -qa|grep mysql,如果无任何显示,则表示没有安装过相关组件,如果有,则根据显示出来的名字,键入rpm -e --nodeps...

最菜最菜之小菜鸟
20分钟前
2
0
RPA:企业信息孤岛的“克星”

为了降本增效,近来世界范围内掀起一股流程优化的热潮,转型升级成为众多企业时刻挂在嘴边的热词。不过在企业数字化转型的过程中,信息孤岛的出现,往往成为了企业升级的绊脚石。 信息孤岛:...

UiBot
20分钟前
2
0
我的测试

我的测试

daiison
20分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部