最近給網站搬了一次家,差點沒把我折騰死,別人沒碰到過的情況都讓我給碰到了,真是暈死,本來wordpress網站搬家是非常方便的一件事情,但是,有時就是有點那背呀,怎么回事呢?下面聽我慢慢道來.
在新主機空間安頓好后,把原網站的備份直接拉進去,能正常顯示,但是原來的文章都不見了,呵呵,這很正常,因為數據庫還沒導入呢,于是,就正確導入數據庫,嘿嘿,這下問題就來了,死活就是不顯示,要么就是連接不上,我ping了一上,IP完全沒問題,既然空間沒問題,原備份也沒問題,那就是數據庫的問題了.
我就試著把另外一個網站的數據庫備份下來,再導入,這下總可以了吧,結果怎么樣呢?問題依舊,于是,我索性就把原始備份及數據庫從新空間中全部刪除,懷疑可能是程序問題,再來個全新安裝wordpress,安裝好后,試著先導入數據庫,呵呵,這下能正常顯示網站前后臺,這說明數據庫沒有問題.
那是不是主題的問題呢?于是,我又在后臺安裝了原網站的原始主題,嘿嘿,依然能正常顯示,這說明主題沒有任何問題.
奇了怪了,那是什么問題,會不會是插件?于是,我把原網站的插件備份全部導進去,嘿嘿,問題再一次出現,終于找到問題之所以,但還不知道是什么插件.
因為頁面沒有任何顯示,看不到問題到底出在哪兒,于是,我把wp-config.php文件里面的define(‘WP_DEBUG’, false);改成define(‘WP_DEBUG’, true);這句代碼主要是幫助開發者用的,即在開發插件或主題時提供報錯功能,這樣一來,再刷新一次網頁,有顯示了,呵呵,不要高興的太早——是顯示錯誤信息,好多條哇,我一條一條地查看,因為有好多是關乎WP核心function的,所以可以放到后面,繼續看,最終讓我發現了一個問題——一個叫auto-save-image的插件有代碼錯誤,這個插件是自動保存遠程圖片本地化的.
于是,我豪不留情地把它從網站中刪除,刪除后,網站就正常顯示了,到此,問題終于徹底解決,當然,完成后,不要忘了將wp-config.php文件里面的define(‘WP_DEBUG’, false) 改回去.
通過這次教訓,我得出2個結論:
1、不到萬不得以,絕不搬家.
2、遇到問題,可以先wp-config.php文件中的查錯功能來找錯.
一,500 Internal server error錯誤解決辦法
貌似.htaccess刪除就好了
二,登錄后臺空白解決辦法
1.可能是因為插件的問題,用FTP將wp-content下的plugins目錄改為plugin然后打開后臺頁面,登陸上之后,再將plugins名字更改回來,如果此辦法不行,請保持原貌,繼續下一步.
2.可能是wp-config.php出的問題,首先檢查wp-config.php里邊的sql配置文件,看自己的sql數據庫名字,數據庫用戶名,數據庫密碼,sql主機這些信息填寫的是否正確.
3.如果以上兩種方法均不行,就要繼續往下看了,登陸ftp后,刪除wp-config.php文件,然后打開你的網站,重新開始配置wordpress的sql配置文件,按照新空間的資料,正確填寫之后,就應該完全解決后臺空白的問題了.
三,前臺文章頁空白或者404錯誤的解決辦法
網站做了偽靜態,可能新空間Rewrite未開啟或者偽靜態不正確,上傳.htaccess到主目錄,下面是我的.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 小心點別把點忘記了,htaccess是后綴,代碼如下:
- <ifModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^index\.php$ - [L]
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
- # BEGIN WordPress
- <IfModule mod_rewrite.c>
- RewriteEngine On
- RewriteBase /
- RewriteRule ^index\.php$ - [L]
- RewriteCond %{REQUEST_FILENAME} !-f
- RewriteCond %{REQUEST_FILENAME} !-d
- RewriteRule . /index.php [L]
- </IfModule>
- # END WordPress
因為嚕嚕的wordpress網站是從win主機搬家到linux主機,所以網站根目錄已經有了一個系統默認的.htaccess文件,把代碼編輯好了,就解決了網站的404頁面了.
你以為這樣就行了?當然不行,還有東西要設置呢,進入wordpress網站后臺管理,在固定連接設置里面選擇自定義結構,在后面的文本框中輸入/%postname%.html保存設置,這樣就可以了.
新聞熱點
疑難解答
圖片精選