目前,就我所知道的对于 301 重定向的方法,有两个:

1. 利用 apache 支持的.htaccess 进行改写,实现重定向

2. 利用程序进行域名的 301 重定向

利用 apache 支持的.htaccess 进行 301 重定向

首先介绍一下利用 apache 支持的.htaccess 进行重定向的实现。请注意,只有你的主机支持.htaccess 和 apache 开启了 mod_rewrite 模块之后,才可以利用.htaccess 实现 301 重定向。下面介绍方法。注意,此篇文章是面向 WordPress 的。

登陆你的 WordPress,并把博客的 URL 改成你的新域名,比如我,就改成 www.nupt.org

保证你的永久链接不变,这样,301 重定向才有意义

打开网站根目录下的 .htaccess ,在已有的代码上面加入以下代码,域名请根据你自己的情况做适当修改

以下为引用的内容:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^www.nupt.org.cn[nc]
rewriterule ^(.*)$ http://www.nupt.org/$1 [L,R=301]
</IfModule>
# END

这样,就可以解决 WordPress 更换域名要进行 301 重定向的需求了。如果你使用的主机不支持.htaccess 的方法,那么下面一种方法就很适合你:利用 PHP 代码实现 301 的重定向。

利用 PHP 程序进行域名的 301 重定向

如果你的主机不支持.htaccess 进行重写,那么,直接在程序中进行重写可能就很适合你了,而在程序中进行重写也十分的简单,下面进行介绍。

直接打开 WordPress 根目录下的 wp-blog-header.php 文件

在第一行插入以下代码:

以下为引用的内容:
if (strtolower($_SERVER['SERVER_NAME'])!=』www.nupt.org』)
{
$URIRedirect=$_SERVER['REQUEST_URI'];
if(strtolower($URIRedirect)==』/index.php』)    {
$URIRedirect=』/';
}
header(』HTTP/1.1 301 Moved Permanently』);
header(』Location:http://www.nupt.org』.$URIRedirect);
exit();
}

然后上传上服务器,你的 301 重定向就实现了。