重定向分为301重定向和302重定向
301重定向是永久重定向,例如某论坛更换了域名,但是原来搜索引擎SEO优化只有原来的域名才有,新的域名没有SEO优化,重新更新优化需要时间,所以需要在原来的域名上做301永久重定向;在重定向之后原来的域名和URL都会被重定向到新的域名和URL上,这种操作在SEO优化里面是可以被允许的,或者301被用来强制HTTPS,在很多有重要服务的网站,没有SSL加密是很危险的事情,可能会导致信息泄露,所以可以在用户请求的时候判断是不是http协议请求的网站,如果条件成立就强制301到HTTPS的网站上。
302是临时重定向,浏览器会认为请求的域名是临时的,所以不会直接回显重定向的域名和URL,所以一般用于临时的重定向,一般情况下浏览器认为的302重定向是不安全的;302重定向可能会被挟持URL,攻击者会修改302重定向的参数,将网站重定向到色情网站以及钓鱼网站或者诈骗网站,通常情况下在SEO权重里面,用到302重定向的网站会被搜索引擎认为是非法引用用来干扰搜索结果,通常情况下会被降权处罚。
Nginx配置301重定向
下面修改配置文件
server {
#监听80端口
listen 80;
#网站虚拟主机名
server_name www.123test.com;
#location为访问的目录代理,/为域名后面不需要携带目录名
#假设是/test,那下面的curl测试就需要改成http://www.123test.com/test才可以访问到
location / {
#这里使用return 301方式跳转到baidu
#301的方式共有三种,这种是比较常用的一种方式
return 301 https://baidu.com;
#默认文档,这里可要可不要
index index.html index.htm;
}
}
#测试使用命令
curl http://www.123test.com
本次使用域名来自前面文章做实验使用的域名,需要改hosts文件
测试截图
Nginx设置302重定向
修改配置文件
server {
listen 80;
server_name www.123test.com;
location / {
return 302 https://baidu.com;
index index.html index.htm;
}
}
#因为302和301的配置文件差不多,配置文件不做解释,直接跳过到下面测试环节
评论