我的一個用 WordPress 製作的小部落格,之前一直放在國外主機上,感覺訪問速度太慢,所以打算搬到國內主機來。結果搬家過程中出現了一些問題,搗鼓了整整一天,才找到解決的辦法,所以稍微整理一下,如果有站長朋友遇到的相同問題,可以幫得上點小忙。
搬家過程:WordPress 整站搬家的教程,網路上有很多,有些文章已經說得很清楚,為了把問題描述清楚,我簡要說一下搬家的步驟:
1 、將 WordPress 整個網站檔案下載到本地
2 、備份資料庫,下載到本地。
3 、把修改後的整站檔案上傳到新的主機。
4 、匯入備份的資料庫。
5 、修改根目錄下 wp-config.php 裡的資料庫資訊,使用者名稱、密碼、伺服器地址等.
以下是我搬家過程中遇到的問題和解決的方法。
問題一:後臺訪問不了,恢復兩三個外掛又訪問不了。
透過上面的搬家步驟以後,網站首頁可以正常訪問了,但是後臺登陸不了,直接就是空白,什麼提示也沒有。問題出在外掛上,網路上大家的解決方法是:透過 FTP,重新命名 plugins 資料夾,就可以正常登陸後臺了。登陸後臺了以後把 plugins 資料夾修改回來,然後再在已安裝外掛中啟用外掛。
我遇到的問題是:啟用外掛過程中,啟用了兩三個以後,再安裝一個,馬上整個後臺又出現了空白,重新命名那個外掛以後,又可以正常訪問,但是再也安裝不了任何一個外掛。 WordPress 本來就是靠這些外掛來工作的,也不可能不用這些外掛。
折騰了半天,才找到原因,原來是這些外掛記憶體佔用過多,導致記憶體不足。
解決方法:增加 WordPress 可用記憶體。
編輯 wp-config.php 這個檔案
找到 define('DB_NAME', 'winestable');
在它之前加上:define(『WP_MEMORY_LIMIT』, 『96M』);
這裡,96M 可以寫得更大,比如 128M 或者 256M,看自己的主機限制情況,修改了以後,能夠正常訪問前臺和後臺就說明可用。
問題二:首頁顯示正常,欄目頁、文章頁出現 404 錯誤。
開啟網站,首頁顯示是正常的,但是欄目頁、文章頁都顯示不了,提示是 404 。出現這個問題的原因是之前的 WordPress 設定了偽靜態,固定連結用了自定義的結構。現在搬過來以後,沒有重新設定偽靜態,所以無法訪問。
解決方法:其實不用再設定什麼,只需要登陸後臺——設定——固定連結,儲存更改就可以了。當然主機還要設定偽靜態規則,空間偽靜態規則,空間商一般都提供的。我用的是電信通的主機,.htaccess 檔案規則如下:
# 將 RewriteEngine 模式開啟
RewriteEngine On
# 如果程式放在根目錄
RewriteBase
# Rewrite 系統規則請勿修改
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^topic-(.+).html$ portal.php?mod=topic&topic=$1&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^forum-(w+)-([0-9]+).html$ forum.php?mod=forumdisplay&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^thread-([0-9]+)-([0-9]+)-([0-9]+).html$ forum.php?mod=viewthread&tid=$1&extra=page%3D$3&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^group-([0-9]+)-([0-9]+).html$ forum.php?mod=group&fid=$1&page=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^space-(username|uid)-(.+).html$ home.php?mod=space&$1=$2&%1
RewriteCond %{QUERY_STRING} ^(.*)$
RewriteRule ^archiver/(fid|tid)-([0-9]+).html$ archiver/index.php?action=$1&value=$2&%1
以上是我在 WordPress 搬家過程中遇到的兩個問題,希望對大家有點幫助,尤其是出現啟用外掛後臺登陸空白的情況,這裡提醒一下 WordPress 搬家的
朋友們,沒搬家之前不要著急刪除原來主機上的資料,出現錯誤了,還可以再回來重新來一遍。