2014-03-03 65 views
1

我在尋找一些幫助將WordPress網站移至新域名。當我在網上尋找時,我只能找到使用各種插件的教程。我想用另一種方式使用FTP和PHPmyAdmin來完成。當我將表導入新域的數據庫時,我做了一些測試並遇到了一些問題。我不確定我是否按照正確的方式進行了這項工作,我希望我會採取一些反饋或建議。這就是我想要做的。將WordPress移至新域名

  1. 我將所有的WordPress文件下載到我的電腦。

  2. 我將所有數據庫/表導出到.sql文件到我的電腦。

  3. 我用PHPmyAdmin從我的電腦導入數據庫/表到新的doamin。 (這不適用於我!我只是得到各種錯誤消息!)

  4. 我用新的用戶,密碼更改PHP配置文件,然後將該文件與其餘文件一起上傳。

  5. 準備好了嗎?或者我錯過了什麼?

我想這並不容易。我從某個地方看到,在我從舊域名下載WordPress文件到我的電腦之前,我應該將網站的名稱更改爲新的,然後對舊的做任何事情!它是否正確?

Preciate一些準則,可以移動此Wordpress網站。我的老闆正在等待,但我告訴他我需要一些時間進行測試,因爲這是我第一次。

+1

也許這有助於:http://codex.wordpress.org/Moving_WordPress – csanonymus

+0

@csanonymus感謝您的鏈接! –

回答

0

您正處於正確的軌道上。

  1. 下載MySql數據庫的轉儲。 PhpMyAdmin應該能夠通過導出功能執行此操作。然後將這個數據庫導入新的服務器(同樣通過PhpMyAdmin)。
  2. 將文件從舊的Wordpress複製到新的Wordpress安裝。
  3. 跟着Wordpress's official guide on changing your URLWordpress's guide to moving your site(as @csanonymous在評論中提到)。這將涉及到如你所說的編輯配置文件。可能還有其他步驟,具體取決於您的網站設置,因此請按照指南進行操作。

看起來,從描述中,你會掛在phpMyAdmin的導出/導入上。如果您遇到此問題,請您在評論中發佈更有意義的錯誤消息嗎?

+0

感謝您的回覆!我現在會做一些測試,稍後再回來 –

+0

祝您的測試順利。如果您對此有任何疑問,請告訴我,第一次做這件事可能會很艱鉅,但一旦完成,它確實是一個非常簡單的過程。 – Terry

+0

嗨!它正在工作!我認爲問題在於當我使用PHP-admin導入sql文件時,我沒有選擇數據庫。在我上傳文件之前,我還在第二步中更改了舊PHP配置文件中新域的數據庫的主機和密碼。然後我改變了舊網站的網址設置。我想我已經做好了,因爲它看起來像是在工作。 –

1

有一個非常簡單的方法,如果你只是改變在同一個託管帳戶域:「SITEURL」和「家」:

在你的phpmyadmin數據庫wp_options部分只要改變這兩個值。將其中的域更改爲您的新域,您的新域將立即開始工作。

+0

我認爲這個問題很清楚他們*不*只是在WP安裝上切換域名,而是實際將網站移動到不同的主機上。 –

+0

這對我有用 - 謝謝。我將文件移到同一主機上的一個新域中,這就是WP所需的全部功能。但是,我必須刷新固定鏈接 - 我通過快速將其保存爲新格式(僅限數字),然後返回到原來的格式(僅限名稱) – gnB

0

我發現改變siteurl和家庭網址從來沒有工作。文章中經常會有鏈接不能遷移,特別是圖片資源鏈接。 執行此操作的最佳方法是在MySQL中。我使用的標準查詢是:

START TRANSACTION; 
    SET @OLDSITE = 'http://oldsite.net'; 
    SET @NEWSITE = 'http://newsite.com'; 
    UPDATE wp_posts SET guid = replace(guid, @OLDSITE,@NEWSITE); 
    UPDATE wp_posts SET post_content = replace(post_content, @OLDSITE, @NEWSITE); 
    UPDATE wp_posts SET post_excerpt = replace(post_excerpt, @OLDSITE, @NEWSITE); 
    UPDATE wp_links SET link_url = replace(link_url, @OLDSITE, @NEWSITE); 
    UPDATE wp_links SET link_image = replace(link_image, @OLDSITE, @NEWSITE); 
    UPDATE wp_postmeta SET meta_value = replace(meta_value, @OLDSITE, @NEWSITE); 
    UPDATE wp_usermeta SET meta_value = replace(meta_value, @OLDSITE, @NEWSITE); 
    UPDATE wp_options SET option_value = replace(option_value, @OLDSITE, @NEWSITE); 
COMMIT; 

請確保在執行此操作之前先執行備份!

整個陳述被封裝在一個事務中,所以你不會得到一半的工作。如果一個聲明失敗了,它可能是一個真正的痛苦,一些域名被遷移而另一些域名不被遷移。如果您無法訪問交易,則可以刪除START TRANSACTIONCOMMIT陳述並首先進行測試運行。

理論上這可以打破postmeta中的序列化數據。在實踐中,這很容易解決。它可能會破壞你的菜單和其他一些結構化數據,但這很容易解決。

注:此SQL事務也是很好的HTTP更改爲HTTPS爲好。你只需要添加:

define('FORCE_SSL_ADMIN', true); 

到你的wp-config.php。