301 永久重定向 (允许缓存)
302 临时重定向 (禁止缓存)

配置(return默认为302)

server {
    listen        8084;
    root          /data/nginx/domain5;
    server_name   www.b.com;
    location      /   {
        root          /data/nginx/domain5;
        autoindex     on;
    }
    location      /abc.html   {
        return    http://www.baidu.com;
    }


}

首先清楚浏览器缓存,访问http://www.b.com:8084/abc.html
在这里插入图片描述
然后修改return URL

server {
    listen        8084;
    root          /data/nginx/domain5;
    server_name   www.b.com;
    location      /   {
        root          /data/nginx/domain5;
        autoindex     on;
    }
    location      /abc.html   {
        return    http://www.nginx.org;
    }


}

直接访问
http://www.b.com:8084/abc.html 直接重定向到新的配置。
在这里插入图片描述
301 配置如下

server {
    listen        8084;
    root          /data/nginx/domain5;
    server_name   www.b.com;
    location      /   {
        root          /data/nginx/domain5;
        autoindex     on;
    }
    location      /abc.html   {
        return  301  http://www.nginx.org;
    }


}

访问http://www.b.com:8084/abc.html 此时页面重定向到nginx.org
在这里插入图片描述但是在我们修改return URL;未清除浏览器缓存时,重定向依然为nginx.org
配置如下

server {
    listen        8084;
    root          /data/nginx/domain5;
    server_name   www.b.com;
    location      /   {
        root          /data/nginx/domain5;
        autoindex     on;
    }
    location      /abc.html   {
        return  301  http://www.baidu.com;
    }


}

访问http://www.b.com:8084/abc.html 此时页面仍重定向到nginx.org
在这里插入图片描述
当我们清理浏览器缓存之后 才会重新定向到www.baidu.com
在这里插入图片描述
以上就是301重定向,会将重定向的信息缓存在本地,当缓存存在时,会从缓存中获取重定向的地址,如果没有缓存才回去服务器上获取重定向地址。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐