什么是301永久重定向?
301跳转也叫301重定向,也叫301跳转,也叫301永久重定向,是网站建设过程中的一个功能。一般用于2个域名同时指向同一个网站。一般来说,利用跳转,对网站的排名没有影响,但不会转移全部权重,只能说把损失降到最低。
什么是302临时重定向?
302跳转就网址重定向的一种,它区别于301跳转,301是网址永久重定向,302则是网址的临时定向。302转向或者302重定向(302 redirect)指的是当浏览器要求一个网页的时候,主机所返回的状态码。302状态码的意义是暂时转向到另外一个网址。
所以当我们在做页面跳转的时分必定要正视,利用的不能够是302重定向,而是301重定向。
server {
listen 80;
server_name www.shuke.com;
rewrite ^/(.*) http://shuke.edu.com permanent; # 301
access_log off;
}
server {
listen 80;
server_name www.shuke.com;
rewrite ^/(.*) http://shuke.edu.com redirect; # 302
access_log off;
}
last - 基本使用这个flag
break - 使用这个flag,禁止rewrit,不在继续匹配
redirect - 返回临时重定向的HTTP状态码302
permanent - 返回永久重定向的HTTP状态码301
NGINX的重定向用到了NGINX的HttpRewriteModule
NGINX的重定向IF条件判断
在server和location中可以使用NGINX的IF条件判断,条件可以为以下几种:
正则表达式
为区分大小写匹配 !为区分大小写不匹配*为不区分大小写匹配 !为不区分大小写不匹配
if ($http_user_agent ~ MSIE) {
rewrite ^(.*)$ /nginx-ie/$1 break;
}
条件和目录判断
-f和!-f为判断文件是否存在
-d和!-d为判断是否存在文件
-e和!-e为判断是否存在文件或目录
-x和!-x为判断是否有执行权限
判断文件或目录不存在的时候进行重定向操作
if (!-e $request_filename) {
proxy_pass http://127.0.0.1;
}
return
设置NGINX防盗链
location ~* .(gif|jpg|png|swf|flv) {
valid_referers none blocked www.test.com www.shuke01.com;
if ($valiad_referers) {
return 404;
}
}
NGINX 常见负载均衡
- 轮训 默认模式
- weight 权重方式
- ip_hash 依据IP分配方式
- least_conn 最少连接数
- fair(第三方) 响应时间方式
- url_hash(第三方) 依据URL分配方式