最模板 - 外贸网站建设,外贸网站模板

最模板

当前位置: 首页 > 建站教程 > php教程 >

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

时间:2014-05-28 00:09来源:未知 作者:最模板zuimoban 点击:
利用nginx泛域名解析配置二级域名和多域名,实现二级域名子站,用户个性独立子域名。 主要针对用户独立子域名这种情况,不可能在配置里面将用户子域名写完,因此需要通过nginx泛解析方式

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

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

配置方法:


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

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

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

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

配置实例

 


  1. server {
  2.  
  3.     listen   80;
  4.     server_name yourdomain.com www.yourdomain.cpm ~^(?<subdomain>.+)\.m\.yourdomain\.com$;
  5.  
  6.     index index.php index.html index.htm;
  7.     set $root_path '/var/www/yanue.net';
  8.     root $root_path;
  9.  
  10.     try_files $uri $uri/ @rewrite;
  11.  
  12.     location @rewrite {
  13.         rewrite ^/(.*)$ /index.php?_url=/$1;
  14.     }
  15.  
  16.     location ~ \.php {
  17.             fastcgi_pass   127.0.0.1:9000;
  18.     }
  19.  
  20.     location ~* ^/(css|img|js|flv|swf|download)/(.+)$ {
  21.         root $root_path;
  22.     }
  23.  
  24.     location ~ /\.ht {
  25.         deny all;
  26.     }
  27. }

这样可以实现:

 

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.  
  15.         # redirect server error pages to the static page /50x.html
  16.         #
  17.         error_page   500 502 503 504  /50x.html;
  18.         location = /50x.html {
  19.             root   html;
  20.         }
  21.  
  22.         # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
  23.         #
  24.         location ~ \.php$ {
  25.             fastcgi_pass   127.0.0.1:9000;
  26.             fastcgi_index  index.php;
  27.             fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
  28.             fastcgi_param  domain $subdomain;
  29.             include        fastcgi_params;
  30.         }
  31.  
  32.         # deny access to .htaccess files, if Apache's document root
  33.         # concurs with nginx's one
  34.         #
  35.         location ~ /\.ht {
  36.             deny  all;
  37.         }
  38.     }
  39.  
(责任编辑:最模板)
------分隔线----------------------------
栏目列表
推荐内容