前言
在我们的网站建设中,时常会遇到需要网页重定向的情况:象网站调整,如改变网页目录结构,网页被移到一个新地址,再或者,网页扩展名改变,如因应用需要把.php改成.Html或.shtml,在这种情况下,如果不做重定向,则用户收藏夹或搜索引擎数据库中旧地址只能让访问客户还会得到一个404页面错误信息,访问流量白白丧失;再如某些注册了多个域名的网站,也需要通过重定向让访问这些域名的用户自动跳转到主站点,等等。
常用的重定向方式有: 301 redirect, 302 redirect 与 meta fresh:
301 redirect: 301代表永久性转移(Permanently Moved),301重定向是网页更改地址后对搜索引擎友好的最好方法,只要不是暂时搬移的情况,都建议使用301来做转址。
302 redirect: 302代表暂时性转移(Temporarily Moved ),在前些年,不少Black Hat SEO曾广泛应用这项技术作弊,目前,各大主要搜索引擎均加强了打击力度,象Google前些年对Business.com以及近来对BMW德国网站的惩罚。即使网站客观上不是spam,也很容易被搜寻引擎容易误判为spam而遭到惩罚。
meta fresh: 这在2000年前比较流行,不过现在已很少见。其具体是通过网页中的meta指令,在特定时间后重定向到新的网页,如果延迟的时间太短(约5秒之內),会被判断为spam。
实现301永久重新定向
这里我们主要谈谈如何通过301 Redirect实现网页重定向
IIS服务器实现301重定向
* 打开internet信息服务管理器,在欲重定向的网页或目录上按右键,见下图
* 选中“重定向到URL”
* 在对话框中输入目标页面的地址
* 切记,记得选中“资源的永久重定向”
* 当然,最后要点击“应用”
Apache服务器实现301重定向
相比较来说,Apache实现起来要比IIS简单多了。在Apache中,有个很重要的文件.htaccess,通过对它的设置,可以实现很多强大的功能,301重定向只是其中之一。
Redirect permanent / https://kimi.pub/ ;将目录下内容重定向到https://kimi.pub/
redirect permanent /old.html https://kimi.pub/new-url/ ;将网页old.html内容重定向到https://kimi.pub/new-url/
通过合理地配置重定向参数中的正则表达式,可以实现更复杂的匹配。有兴趣的朋友可参考Apache手册。
其他方法现301重定向还有:
PHP下的301重定向
< ? Header( "HTTP/1.1 301 Moved Permanently" );
Header( "Location: https://kimi.pub" );?>
ASP下的301重定向
< %@ Language=VBScript %>
< % Response.Status=”301 Moved Permanently” Response.AddHeader “Location”, ” https://kimi.pub”>
ASP .NET下的301重定向
配置完成后,要认真检查一下是否正确。Internet有很多类似的Server Header检查工具,如Check Server Headers Tool - HTTP Status Codes Checker或本站提供的这个网页重定向检查工具。
好东西,收藏了
学习了,求指教nginx的重定向写法