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