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重定向,会将重定向的信息缓存在本地,当缓存存在时,会从缓存中获取重定向的地址,如果没有缓存才回去服务器上获取重定向地址。