361 瀏覽數

WordPress 搬家 (IP 改變)

如果 WordPress 當初設定的 URL (設定 / 一般 / Wordpress 位址 , 網站位址) 為 IP 時,搬家的同時連 IP 也要換掉,這就有一點麻煩了.

測試環境為 CentOS 7 x86_64 + Apache (Httpd)

先來看一下 wordpress 搬家需要備份資料為 wordpress 網頁 與 資料庫.

[root@localhost ~]$ tar zcvf wordpress.tar.gz /var/www/html
[root@localhost ~]$ mysqldump -u root -p wordpress > mysql.sql
Enter password:

資料庫還不能還原,因為裡面的資料皆為舊 IP ,最簡單的方式就是透過 文字編輯器打開 SQL 檔案 (mysql.sql) ,使用取代功能把舊的 IP 修改成新的 IP 即可.

或是先還原資料庫再透過 phpMyAdmin 來修改資料庫資料.

還原 wordpress 網頁,並複製到新的 http DocumentRoot .

[root@localhost ~]$ tar zxvf wordpress.tar.gz
[root@localhost ~]$ rsync -avP ./var/www/html/* /var/www/html/

還原資料庫

[root@localhost ~]$ mysql -u root -p
Enter password:
mysql > create database wordpress;
mysql> grant all privileges on wordpress.* to suser@localhost identified by 'your.password' ;
mysql > exit;
[root@localhost ~]$ mysql -u root -p wordpress < mysql.sql
Enter password:

透過 phpMyAdmin 來修改 wordpress 資料庫的資料

  1. wp_options (siteurl , home)
  2. wp_posts (guid)

搬家方式不止一種,更多關於 WordPress 搬家請參考 https://codex.wordpress.org/Changing_The_Site_URL#Changing_the_URL_directly_in_the_database

最後還要再設定一次 WordPress 固定網址設定 (Apache)

[root@localhost ~]$ vi /etc/httpd/conf/httpd.conf
 <Directory /var/www>
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
</Directory>
[root@localhost ~]$ vi /var/www/.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>
[root@localhost ~]$ chown apache:apache /var/www/.htaccess

詳細說明請參考 http://benjr.tw/10918

遇到一個比較奇怪的問題,就是搬家後在 Firefox 瀏覽器輸入新網站 IP 但卻一直被導向舊網站的 IP ,後來是把 Cached Web Conten (Preferences / Advanced Network) 清除就正常了.

發表迴響