因為要更換主題,想把原來的網站搬到本地進行測試,由此接觸到WordPress搬家。這其間碰到大量問題,還好有搜索引擎的幫助。最終把這些問題一一解決,在這里寫個總結。
WordPress搬家包括2部分:WordPress系統程序和MySQL數據庫。搬家有域名目錄不變只改變空間、域名目錄改變空間不變和域名目錄與空間都改變3種情況,這里講的是域名和空間都改變的情況。前2種情況相對比較簡單,可以參照域名和空間都改變的情況進行WordPress搬家。方法如下:
WordPress系統程序
把網站根目錄下的全部文件用FTP軟件下載到本地,修改其中的config.php文件。注意最好以utf-8無BOM格式編輯保存,推薦使用notepad++文本編輯器。不然可能出現“Waring:Cannot modify header information。”的錯誤。
特別注意如果原網站或新網站安放在二級目錄時,還要修改其中的.htaccess文件。WordPress在安裝時,會根據網站具體的目錄結構產生一個.htaccess文件。該文件與URL重定向有關,直接關系到網站虛擬重寫目錄及網頁的訪問是否正常。ZCMHI在將網站從根目錄搬家到本地二級目錄時,就遇到首頁顯示正常,但是一些虛擬目錄和網頁無法訪問的情況。比如localhost/zcmhi/archives/下的所有分類目錄和網頁都無法訪問。以WordPress從根目錄搬到二級目錄為例,修改.htaccess文件的方法為在RewriteBase和第二個RewriteRule項添加二級目錄。
原網站.htaccess文件
# BEGIN WordPress RewriteEngine On RewriteBase / RewriteRule ^index.php$ -[L] RewriteCond %{REQUEST_FILENAME}!-f RewriteCond %{REQUEST_FILENAME}!-d RewriteRule ./index.php [L]# END WordPress |
修改后.htaccess文件
# BEGIN WordPress RewriteEngine On RewriteBase /zcmhi/ RewriteRule ^index.php$ -[L] RewriteCond %{REQUEST_FILENAME}!-f RewriteCond %{REQUEST_FILENAME}!-d RewriteRule ./zcmhi/index.php [L] # END WordPress |
具體應根據實際情況進行更改。最后將所有文件上傳到新的主機空間。這里指全部文件,是為了使搬家后的網站與原網站完全相同。
如果遇到后臺登陸一片空白或出現“Waring:Cannot modify header information。”等后臺無法登陸前臺無法顯示的情況,比如ZCMHI在登陸后臺時由All in one seo pack插件造成的錯誤,如圖。這時可以通過FTP軟件進入網站目錄把插件或主題目錄改名,比如把plugins改為plugin0,themes改為themes0(主題無法調用時系統會恢復默認主題),登陸后臺后再通過FTP改回來。出現這種情況的原因多為第三方插件或主題與WordPress不能完全兼容。
MySQL數據庫
登入原網站數據庫管理界面,一般phpMyAdmin。進入對應的數據庫,對“結構”項全選,點擊導出(如圖),其他設置默認就行,保存到本地。
也可以使用WP-DBmanager插件備份數據庫后下載到本地。接著用文本編輯器以utf-8格式打開編輯。查找原來域名,全部替換為新的域名目錄。也可以在導入到新的數據庫后,修改表wp-options中siteurl和home項為新域名。
再到新的數據庫管理界面,導入數據庫,注意以utf8_general_ci導入。
至此WordPress搬家基本結束,可能需要登入WordPress后臺對一些地方進行適當調整。
一小點建議:由于安裝的插件及主題可能并非為WordPress官方開發,因為兼容性問題在搬家過程中可能引起這樣那樣的問題。建議WordPress搬家前停用所有的插件,安裝了緩存插件要清除緩存,并恢復到默認主題。在搬家結束后登陸WordPress后臺進行還原。
主題貓WP建站,累計幫助1300+客戶成功建站,為站長提供支持!
立刻開啟你的建站之旅