Nginx域名访问判断及301与302的区别

Nginx域名访问判断及301与302的区别

首先解释下关于301和302的区别

1、什么是301重定向?  301转向(或叫301重定向,301跳转)是当用户搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。2、什么是302重定向?  302重定向又称之为302代表暂时性转移(Temporarily Moved ),英文名称:302 redirect。 也被认为是暂时重定向(temporary redirect),一条对网站浏览器的指令来显示浏览器被要求显示的不同的URL,当一个网页经历过短期的URL的变化时使用。一个暂时重定向是一种服 务器端的重定向,能够被搜索引擎蜘蛛正确处理。3、301重定向与302重定向的区别  302重定向是暂时的重定向,搜索引擎会抓取新的内容而保留旧的网址。因为服务器返回302代码,搜索引擎认为新的网址只是暂时的。 SEO 302好于301  301重定向是永久的重定向,搜索引擎在抓取新内容的同时也将旧的网址替换为重定向之后的网址。

需求是这样的:

1、非www.abc.com域名访问,返回403,防止恶意解析。

即使别人的域名绑定到你的主机的IP上,也无法访问你的站点,如果有用户通过访问他的域名,用户的浏览器会返回403错误,而不是跳出你的网站。

2、当abc.com域名访问时,自动301重写为www.abc.com,增加SEO权重...

增加域名权重对网页收录的优化有利于网页PR传递可促进搜索引擎优化效果 对用户体验表示友好

3、以上两个需求共存。


1、非www.abc.com域名访问,返回403,防止恶意解析。

server {        listen       80;        server_name  abc.com   www.abc.com;if ( $host != 'www.abc.com' ){          return 403;         }

2、当abc.com域名访问时,自动301重写为www.abc.com。

server {        listen       80;        server_name  abc.com   www.abc.com;if ( $host = 'abc.com' ){          rewrite ^/(.*)$ http://www.abc.com/$1 permanent;        }

3、非www.abc.com域名访问,返回403错误,当abc.com域名访问时,自动301重写为www.abc.com。

server {        listen       80;        server_name  abc.com www.abc.com;if ( $host = 'abc.com' ){          rewrite ^/(.*)$ http://www.abc.com/$1 permanent;      }  if ( $host != 'www.abc.com' ){          return 403;      }

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部