為什么WordPress遷移后會自動重定向到舊域,該如何修復(fù)?
問題根源分析
WordPress數(shù)據(jù)庫存儲的舊域名信息未完全更新是導(dǎo)致自動重定向的主要原因。系統(tǒng)核心文件、主題/插件配置、服務(wù)器設(shè)置中殘留舊域名參數(shù)均可能觸發(fā)301永久重定向機(jī)制。
解決方案總覽
1. 數(shù)據(jù)庫域名更新
通過phpMyAdmin執(zhí)行SQL命令:UPDATE wp_options SET option_value = replace(option_value, '舊域名','新域名') WHERE option_name = 'home' OR option_name = 'siteurl';
并檢查wp_posts表內(nèi)容更新。
2. 配置文件驗(yàn)證
檢查wp-config.php文件中是否包含define('WP_HOME','舊域名');
或define('WP_SITEURL','舊域名');
硬編碼,修改后通過FTP重新上傳。
3. 服務(wù)器重寫規(guī)則
刪除.htaccess文件中與域名相關(guān)的重定向規(guī)則,重置固定鏈接結(jié)構(gòu)。建議保留基礎(chǔ)WordPress重寫規(guī)則:
# 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
4. 緩存系統(tǒng)清理
依次執(zhí)行:清除WordPress緩存插件數(shù)據(jù)、清空服務(wù)器OPcache、刪除CDN緩存。推薦使用WP-CLI命令:wp cache flush
5. SSL證書配置
混合內(nèi)容問題可能導(dǎo)致循環(huán)重定向,確保新域名SSL證書正確安裝,在數(shù)據(jù)庫中將wp_options
表的siteurl
設(shè)置為包含HTTPS的完整地址。
6. 瀏覽器緩存排除
使用Chrome開發(fā)者工具Network面板勾選Disable cache
,或通過快捷鍵Ctrl+Shift+R
(Windows)/Cmd+Shift+R
(Mac)強(qiáng)制刷新。
7. DNS記錄驗(yàn)證
使用dig +trace 新域名
命令檢查DNS解析是否完全生效,特別注意TTL值對緩存時間的影響,必要時臨時降低TTL數(shù)值。
深度檢測建議
通過瀏覽器開發(fā)者工具查看Network請求標(biāo)頭,確認(rèn)返回的Location
字段值。使用curl命令測試:curl -I 新域名URL
觀察HTTP狀態(tài)碼和重定向路徑。
預(yù)防措施
- 遷移前使用專業(yè)遷移插件(如Duplicator)序列化數(shù)據(jù)處理
- 修改數(shù)據(jù)庫前綴避免殘留配置沖突
- 在本地或臨時域名完成全站測試后再進(jìn)行正式遷移