Nginx配置301重定向

Nginx配置301重定向

开发网站时,一般情况下都会将带 www 的网址访问时默认跳转到不带 www 的,或者将不带 www 的跳转到带www 的,比如输入 xxxx.com 服务器收到请求后告诉浏览器页面被移到 www.xxxx.com 了,然后浏览器就会请求 www.xxxx.com 从而把用户带到另一个页面,这种行为叫做 301 重定向,意思是页面永久性被移走。

这种方式对搜索引擎比较友好,可以将对应页面的权重进行转移,301 重定向和页面跳转不一样,页面的跳转属于302 重定向,就是告诉浏览器页面被暂时性移走;这两种重定向本质上都是在浏览器 http 响应头中添加对应信息实现的。

Nginx配置301

在 Nginx 中,配置 301 永久重定向有两种方式。

方法一

server { listen 80; server_name www.haicoder.net haicoder.net; if ($http_host = www.haicoder.net) { rewrite (.*) http://haicoder.net$1; } ... }

方法二

server { listen 80; server_name www.haicoder.net; return 301 http://haicoder.net$request_uri; } server { listen 80; server_name haicoder.net; ... }

Nginx配置301重定向总结

开发网站时,一般情况下都会将带 www 的网址访问时默认跳转到不带 www 的,或者将不带 www 的跳转到带www 的,比如输入 xxxx.com 服务器收到请求后告诉浏览器页面被移到 www.xxxx.com 了,然后浏览器就会请求 www.xxxx.com 从而把用户带到另一个页面,这种行为叫做 301 重定向,意思是页面永久性被移走。