把本地 WordPress 網(wǎng)站遷移到正式服務(wù)器的時候,往往需要修改數(shù)據(jù)庫,這樣很麻煩,其實是有辦法直接遷移網(wǎng)站而不用修改數(shù)據(jù)庫的。在本站的?WordPress綁定多個域名的方法-通過WP_HOME 和 WP_SITEURL 常量文章中,我介紹了 WordPress 綁定多個域名的方法。
在把網(wǎng)站從本地遷移到服務(wù)器的過程中,這個方法非常實用,但是還有一個比較棘手的問題就是 WordPress 文章中的圖片資源鏈接還是本地鏈接。WordPress 在插入附件的時候直接把附件的URL寫死到數(shù)據(jù)庫里了,所以,我們需要修改一下數(shù)據(jù)庫里的附件鏈接地址,問題才能解決,好不麻煩!
如果上傳圖片的時候,不保存網(wǎng)站域名,而是直接保存一個相對于網(wǎng)站域名的相對鏈接地址,問題就迎刃而解了。
上傳圖片時把絕對地址修改成相對地址
下面一段代碼是在 WordPress 官方論壇里面翻到的,這段代碼會修改 WordPress 中上傳的絕對路徑為相對地址,這樣就解決了寫死域名在數(shù)據(jù)庫中的問題。
function relativePathForUploads($fileInfos) {
global $blog_id;
$path = get_blog_option($blog_id,'siteurl');
$fileInfos['url'] = str_replace($path,'',$fileInfos['url']);
return $fileInfos;
}
add_filter('wp_handle_upload', 'relativePathForUploads');
不過上面的方法只對新上傳的圖片有效,添加這段代碼之前的圖片鏈接地址還是絕對網(wǎng)址。
對于以前上傳的圖片的解決辦法
有兩種解決辦法可以修正之前上傳的圖片的鏈接地址,因為方法很簡單,具體使用就不再展開討論了,有不明白的可以在留言中提問。
- 使用 Relative URL 插件修改所有鏈接為相對鏈接
使用七牛云存儲插件通過云存儲訪問以前的圖片地址


