Nginx Rewrite 301跳转

Nginx Rewrite 301跳转

除了使用别名的方式实现etiantian.org和www.etiantian.org访问同一个地址,还可以使用nginx Rewrite 301跳转的方式实现,配置如下:

[root@web01 extra]# vim www.conf                     

server {

        listen       80;

        server_name  etiantian.org;

        rewrite ^/(.*) http://www.etiantian.com/$1 permanent;  

#当用户访问etiantian.org及下面的任意内容时,都会通过这条Rewrite跳转到www.etiantian.org对应的地址

    }

server {

        listen       80;

        server_name  www.etiantian.org;

        location / {

        root html/www;

        index index.html infrc.htm;

        }

        access_log logs/access_www.log main gzip buffer=32k flush=5s;

}

1. 检查语法并重启

[root@web01 extra]# /application/nginx/sbin/nginx -t

[root@web01 extra]# /application/nginx/sbin/nginx -s reload

2. 查看效果

[root@web01 extra]# curl -s -o /dev/nul1 -I -w "%{http_code}\n" http://etiantian.org

301  #通过http://etiantian.org访问结果是301

[root@web01 extra]# curl -s -o /dev/nul1 -I -w "%{http_code}\n" http://www.etiantian.org

200  #直接http://www.etiantian.org访问是200

 

注:使用别名200和301跳转访问的优缺点

使用别名200访问域名,效率高,但是看不到修改过的新域名

使用301跳转访问,能看到修改过的新域名,但是它是301跳转,重新发分请求

 

你可能感兴趣的:(Nginx)