Nginx服务器下配置个性⼆级域名及多个域名的实例讲解我们的做法就是通过服务器配置,将访问的url转换为实际的url
下⾯我们来⽤nginx配置。配置如下:
server {
listen    80;
server_name *.jb51;
if ( $host ~* (\b(?!www\b)\w+)\.\w+\.\w+ ) {
set $subdomain $1;
}
location / {
rewrite ^/$ /auth/$subdomain last;
proxy_pass www.jb51/;
}
}
其中的if,是⽤于过滤某些特殊的⼆级域名,⽐如www,然后获取⼆级域名的变量值。
rewrite转化为对应的⽬录
rewrite ^/$ /auth/$subdomain last;
再加上nginx的反向代理功能:
这样配置之后,除了if中过滤的⼆级域名,其他的⼆级域名{sudomain}.jb51,对于服务器,其真实的路径都是
www.jb51/auth/{sudomain}。
如果url有多种路径规则,则需要⼀⼀进⾏配置。
多域名配置
nginx绑定多个域名可⼜把多个域名规则写⼀个配置⽂件⾥,也可⼜分别建⽴多个域名配置⽂件,我⼀般为了管理⽅便,每个域名建⼀个⽂件,有些同类域名也可⼜写在⼀个总的配置⽂件⾥。
⼀、每个域名⼀个⽂件的写法
⾸先打开nginx域名配置⽂件存放⽬录:/usr/local/nginx/conf/servers ,如要绑定域名www.jb51 则在此⽬录建⼀个⽂件:f然后在此⽂件中写规则,如:server
{
listen
80;
server_name
www.jb51;
#绑定域名
index
index.htm index.html index.php; #默认⽂件
root
/home/www/jb51; #⽹站根⽬录
include
}
然后重起nginx服务器,域名就绑定成功了nginx服务器重起命令:/etc/init.d/nginx restart
⼆、⼀个⽂件多个域名的写法
⼀个⽂件添加多个域名的规则也是⼀样,只要把上⾯单个域名重复写下来就ok了,如:server
{
listen
80;
server_name
bbs.jb51;
#绑定域名
index.htm index.html index.php; #默认⽂件
root
/home/www/bbs.jb51;
#bbs⽬录
include
}server
{
listen
80;
server_name
www.jb51;
#绑定域名
index
index.htm index.html index.php; #默认⽂件
root
/home/www/www.jb51;
#⽹站根⽬录
include
}
三、不带www的域名加301跳转
如果不带www的域名要加301跳转,那也是和绑定域名⼀样,先绑定不带www的域名,只是不⽤写⽹站⽬录,⽽是进⾏301跳转,如:
server
{
listen
80;
server_name
jb51;
rewrite
^/(.*) www.jb51/$1 permanent;
}
四、添加404⽹页
添加404⽹页,都可⼜直接在⾥⾯添加,如:
server
{
listen
80;
server_name
www.jb51; #绑定域名
index
index.htm index.html index.php; #默认⽂件
root
/home/www/jb51; #⽹站根⽬录
error_page
404
/404.html;
}
学会上⾯四种规则⽅法,基本就可以⾃⼰独⽴解决nginx 多域名配置问题了
>nginx 配置文件

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。