Nginx域名重定向

Nginx 域名重定向

修改host绑定aaa.com到虚拟机,访问aaa.com时会跳转至默认虚拟主机。之前配置了deny all显示403. 为了让aaa.com也可以访问到mxiaoqi.top这个域名,则需要域名重定向

  • 方法一:修改对应网站配置文件
[root@CentOS-1 vhost]# vi mxiaoqi.top.conf 

server
{
    listen 80 ;
    server_name mxiaoqi.top aaa.com;
    #增加aaa.com
    index index.html index.htm index.php;
    root /data/wwwroot/mxiaoqi.top;

location ~ \.php$
    {
        root /data/wwwroot/mxiaoqi.top;
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/wwwroot/mxiaoqi.top$fastcgi_script_name;
    }

}

[root@CentOS-1 vhost]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@CentOS-1 vhost]# nginx -s reload
#再次访问aaa.com可以跳转到mxiaoqi.top上
  • 方法二:域名重定向,从A域名跳转到B域名
[root@CentOS-1 vhost]# vi mxiaoqi.top.conf 

server
{
    listen 80 ;
    server_name mxiaoqi.top aaa.com;
    if ( $host = mxiaoqi.top )
    #增加判断条件,当访问域名是mxiaoqi.top的时候
    {
        rewrite /(.*)  http://aaa.com/$1 permanent;
        #把mxiaoqi.top/后面的内容重新写到aaa.com/后面如果后面有多段则使用$2、$3以此类推
        #permanent是转发状态码
    }
    index index.html index.htm index.php;
    root /data/wwwroot/mxiaoqi.top;

location ~ \.php$
    {
        root /data/wwwroot/mxiaoqi.top;
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/wwwroot/mxiaoqi.top$fastcgi_script_name;
    }

}
[root@CentOS-1 vhost]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@CentOS-1 vhost]# nginx -s reload
#重新加载配置文件后,再次访问mxiaoqi.top会自动跳转到aaa.com。域名重定向成功。

#使用curl命令测试
[root@CentOS-1 vhost]# curl -x127.0.0.1:80 mxiaoqi.top/123/444 -I
HTTP/1.1 301 Moved Permanently
Server: nginx/1.8.0
Date: Fri, 06 Sep 2019 06:57:19 GMT
Content-Type: text/html
Content-Length: 184
Connection: keep-alive
Location: http://aaa.com/123/444
#成功跳转到配置文件中设置的域名

状态码含义:200(OK) 404(不存在) 304(缓存) 301(永久重定向) 302(临时重定向) 为了转移权重,只能用301

  • 内部跳转302临时重定向
[root@CentOS-1 vhost]# !vi
vi mxiaoqi.top.conf 

server
{
    listen 80 ;
    server_name mxiaoqi.top aaa.com;
    if ( $host = mxiaoqi.top )
    {
        rewrite /(.*)  http://aaa.com/$1 permanent;
    }
    index index.html index.htm index.php;
    root /data/wwwroot/mxiaoqi.top;
    rewrite /1.txt /2.txt redirect;
    #增加一行,做内部跳转。当访问1.txt时会跳转到2.txt
location ~ \.php$
    {
        root /data/wwwroot/mxiaoqi.top;
        include fastcgi_params;
        fastcgi_pass unix:/tmp/php-fcgi.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /data/wwwroot/mxiaoqi.top$fastcgi_script_name;
    }

}

[root@CentOS-1 vhost]# nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@CentOS-1 vhost]# nginx -s reload
[root@CentOS-1 vhost]# curl -x127.0.0.1:80 aaa.com/1.txt -I
HTTP/1.1 302 Moved Temporarily
Server: nginx/1.8.0
Date: Fri, 06 Sep 2019 07:25:43 GMT
Content-Type: text/html
Content-Length: 160
Location: http://aaa.com/2.txt
#测试访问1.txt自动跳转到2.txt
Connection: keep-alive

域名跳转最好使用301,不涉及域名跳转使用302

==END==

转载于:https://my.oschina.net/u/3850968/blog/3102943

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值