301永久重定向是什么东西

所谓301永久重定向(或叫301转向,301跳转),是指当用户或搜索引擎向网站服务器发出浏览请求时,服务器返回的HTTP数据流中头信息(header)中的状态码的一种,表示本网页永久性转移到另一个地址。

301永久重定向有何作用?在哪些情况下适用?

从301永久重定向的定义可以看出,它是一种状态码,会向搜索引擎或浏览器发出信息:本网页的地址已经永久改变了。并会把新的地址传达过去。而相应的就是:我们输入网址A访问,显示出来的是转向后的网址B,转向过程极短以至无法察觉。所以,301永久重定向对于访客来说,作用就是将他要访问的而实际上已不存在的网址转到另一个网址,避免出现“此网页无法显示”之类的错误;对于搜索引擎优化|SEO来说,给搜索引擎一个友好的信息,告诉它此页面已永久重定向,避免搜索引擎找不到页面。这对于网站的SEO是很重要的,因为301永久重定向对SEO无任何不好的影响!而且网页A的关键词排名和PR级别都会传达给网页B!

一、当出于需要删除网站中的某些目录时,可以通过301永久重定向将此目录重定向到网站首页。

二、网站更换域名时,通过301永久重定向将旧域名重定向至新域名,挽回流量损失和SEO。

三、想要多个域名同时指向同一网站时,通过301永久重定向可以实现。
一般的虚拟主机后台提供将test.cn和www.test.cn等多个域名绑定到同一网站的功能,但这样对收录可能有影响,而用301永久重定向就没有这样的担忧。

四、实现网址规范化。
有以下4个网址:
http://test.cn
http://www.test.cn
http://test.cn/index.html
http://www.test.cn/index.html
查询上面4个网址的PR值,或用site:test.cn查看网站首页,如果结果一致,说明网站没有规范化问题;如果不一致,表明有规范化问题。出现此问题时,可以将上面4个网址通过301永久重定向指向同一个网址http://www.test.cn,解决了。

如何实现301永久重定向?

一、通过代码实现301永久重定向。

HTML网页无法实现301永久重定向。因为HTML文件一被读取,就已经返回表示一切正常的200状态码了。

比如,你要删除某个目录A,想实现访问http://www.test.cn/A/时跳转到http://www.test.cnheader(”HTTP/1.1 301 Moved Permanently”);
header(”Location:http://www.test.cn”);
exit();
?>

访问http://www.test.cn/A/其实就是访问http://www.test.cn/A/index.php,就会自动跳转到http://www.test.cn

有个技巧:如果http://www.test.cn 网站目录下同时存在index.html和index.asp,设置文档优先级html>asp时,输入http://www.test.cn访问到的是http://www.test.cn/index.html;设置文档优先级asp>html时,访问的是http://www.test.cn/index.asp.

二、虚拟主机301永久重定向

如果你的网站空间是使用虚拟主机或合租空间,无法对WEB服务器(IIS、Apache)进行设置,可以利用子目录绑定实现301永久重定向。首先建立子目录A,然后把你要进行重定向的域名A绑到这个目录,在这个子目录里面建立一个index.php文件,写入上面介绍的代码。那么访问子目录A下的index.php也即访问域名A,就会跳转到绑定在其他子目录上的域名B。

三、Apache实现301永久重定向。

Apache中的分布式配置文件“.htaccess”提供了针对每个目录改变配置的方法,即在一个特定的目录中放置一个包含指令的文件,其中的指令作用于此目录及其所有子目录。比如,在目录A下放.htaccess,写入代码:

redirect 301 /A http://www.test.cn 或
redirect permanent /A http://www.test.cn

访问http://www.test.cn/A/及其子目录时即可重定向到http://www.test.cn。若将整个网站或域名重定向到另一网站或域名,则可写入redirect 301 / http://www.test.cn,将.htaccess放在根目录即可。

如果要实现“批量重定向”,比如,把http://test.cn/a.html重定向到http://www.test.cn/a.html,把http://test.cn/b.html重定向到http://www.test.cn/b.html。。。等等,即把http://test.cn下的所有文件重定向到http://www.test.cn下的同名文件,则要用到mod_rewrite模块。在.htaccess中写入:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^test.cn [NC]
RewriteRule ^(.*)$ http://www.test.cn/$1 [L,R=301]

即可。

或将绑定的其他多个域名重定向到主域名:

RewriteEngine on
RewriteCond % ^test.cn$ [OR]
RewriteCond % ^bbs.test.cn$ [OR]
RewriteRule ^(.*)$ http://www.test.cn/ [R=301,L]

### FOFA 中 `status-code` 的含义 在网络空间资源探测引擎FOFA中,`status-code`表示HTTP响应状态码。当客户端向服务器发送请求时,服务器返回给客户端的状态码可以表明此次请求的结果是成功、失败还是其他情况。常见的HTTP状态码有: - **200 OK**: 请求已成功处理[^5]。 - **3xx Redirection (重定向)**: 客户端需执行更多操作以完成请求。例如: - 301 Moved Permanently(永久移动): 资源已被分配新URI,以后应使用新的URL访问该资源。 - 302 Found(临时移动): 类似于301,但建议继续使用旧地址进行后续请求。 - **4xx Client Error (客户端错误)**: 此类状态码意味着客户端可能出现了某些问题,比如: - 400 Bad Request(坏请求): 由于语法格式不正确等原因导致无法理解此请求。 - 401 Unauthorized(未授权): 需要认证才能获得响应。 - 403 Forbidden(禁止): 即使提供身份验证也无法获取权限。 - 404 Not Found(找不到): 找不到指定位置上的任何东西。 - **5xx Server Error (服务端错误)**: 表明服务器遇到了意外状况而阻止其履行请求,如: - 500 Internal Server Error(内部服务器错误): 通用错误消息,通常由程序逻辑缺陷引起。 - 502 Bad Gateway(糟糕网关): 当作为网关或者代理工作的服务器收到无效响应时发出。 - 503 Service Unavailable(服务不可用): 服务器暂时过载或维护停机。 通过查询特定的`status-code`可以帮助用户更精确地定位到具有某种特征的服务或网站,在网络安全研究领域有着广泛的应用价值。 ```bash # 查询所有返回200状态码的Web应用实例 "status-code=200" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值