我相信做网站的人都了解过 301 重定向,它可以让网站权重集中,向搜索引擎传达一个友好的信息。但是,相信有不少做站的朋友们使用的虚拟空间无法添加 301 重定向,今天本文就来告诉你在不更换空间的情况下,怎么通过其他的方法来实现 301 重定向。我主要介绍两种方法来实现这个目的:
第一种是软重定向,使用代码进行 301 重定向
虽然我们无法在虚拟空间中设置 301 重定向,但是代码还是可以修改的,所以我们可以对 index 文件进行修改,由于每个程序使用的代码不相同,大家可以自行搜索与自己程序向匹配的 301 重定向代码,我这边以 WordPress 博客为例进行讲解,方法大同小异。
将以下这段代码放入到根目录的 index.php 最开始的地方
$the_host = $_SERVER['HTTP_HOST'];//取得当前域名
if(strtolower($the_host) != 『www.bluefate.org』)//把这里的域名换上你想要的
{ $URIRedirect=$_SERVER['REQUEST_URI']; //获取域名后的参数
if(strtolower($URIRedirect)==」/index.php」)//判断是参数为/index.php 就显示为/
{
$URIRedirect=」/」;
}
header(「HTTP/1.1 301 Moved Permanently」);//发出 301 头部
header(「Location: http://www.baiduzq.com」.$URIRedirect);//跳转到你希望的地址格式
exit();
}
添加这段代码之后,可以将原域名下的所有链接地址定向到对应新域名的地址,即:域名变化,但是参数不变的。这样就巧妙的实现了 301 重定向,同样达到了向搜索引擎传达友好信息的作用。
第二种是通过 DNSPOD 来实现 301 重定向
这个方法是我今天要强烈推荐的,主要是因为这个方法非常的简单,但是效果却是一样可以达到。请看下图
在上图中有四个参数,我们需要用到的主要有 A 、 B 、 D 这三个参数。做 301 重定向,首先就是要把记录类型,即参数 B 设置为显性 URL,剩下的就是补充其他的参数,有这两种情况
第一种情况,把不带 WWW 的重定向到带 WWW 的
操作方法:主机记录填写 @(@代表主域名),记录值填写你的目标网址比如 http://www.123.com,这样就可以把 123.com 重定向到 www.123.com
第二种情况,把 A 网址重定向到 B 网址
操作方法:需要添加两条记录,一条是把带 www 的 A 网址的重定向到 B 网址,主机记录填写 www,记录值填写 B 网址,第二条是把不带 WWW 的 A 网址重定向到 B 网址,主机记录填写 @,记录值填写 B 网址。通过这两条记录,就可以把不带 WWW 和带 WWW 的 A 网址重定向到 B 网址了。
这个方法绝大多数人都可以使用,而且不需要空间的支持,希望这篇文章对大家有所帮助,笔者在此只是起到一个抛砖引玉的作用,不足之处还望大家批评斧正。