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错误,而不是跳出你的网站。
1.
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;
}
扫码领红包微信赞赏支付宝扫码领红包
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。侵权投诉:375170667@qq.com