目前,就我所知道的對於 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 重定向就實現了。