好長時間沒使用百度統計中的網站速度診斷功能了,自從今年升級到 WordPress3.3.1 後,總是感覺網站速度變慢了。但一直未在意,以為是服務器本身的原因導致的!今天在百度統計中使用網站速度診斷功能的時候發現,博客出現了無數的 302 重定向,原因是當 WordPress 升級時,多少有時會出現失敗的情況或者加載不正確的地方,這也是在所難免的。

一、使用百度統計中的網站速度診斷功能出現的 302 重定向截圖:

二、出現的 302 重定向的解決方法:
解決方法一:
修改 wp-include 下的/template-loader.php 文件,修改起來並不複雜,缺點是內核文件改動,以後升級務必注意。官方沒有給出解決辦法,於是隻好採用這個辦法。

找到 wp-include 文件夾下的 template-loader.php 文件,使用//註釋掉第六行和第七行。
if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
do_action('template_redirect');
修改為:
//if ( defined('WP_USE_THEMES') && WP_USE_THEMES )
//do_action('template_redirect');
解決方法二:
通過給 do_redirect 賦值解決 WordPress 循環重定向

找到 wp-include 文件夾下的 canonical.php 文件,使用//註釋掉第 37 行。另起一行加入下面代碼。其實也就是把變量 $do_redirect 的值修改為 false 。
將 canonical.php 文件,第 37 行
function redirect_canonical( $requested_url = null, $do_redirect = true ) {
修改為:
//function redirect_canonical( $requested_url = null, $do_redirect = true ) {
增加:
function redirect_canonical( $requested_url = null,$do_redirect = false) {
修改後截圖:

解決方法三:
插件辦法,下載 Permalink Fix & Disable Canonical Redirects Pack 安裝上就 ok 。