为什么 wordpress 在插入媒体图片时,会在数据库中保存 http://***.com/…….jpg 这样的地址?

2016-09-15 11:12:56 +08:00
 elone

这段时间学习 wp ,在本地端开发完成之后,连同数据库 dump 出来一并拉到服务器部署好。但发现服务器上图片都显示不出来,一看才知道在数据库中的地址都保存为了 http://localhost/wp-contents/uploads/test.jpg

为什么连 http://localhost/ 都要保存进数据库呢?

3189 次点击
所在节点    WordPress
8 条回复
ck65
2016-09-15 11:27:19 +08:00
这个「特性」已被诟病许久,然而官方态度始终不变,就是要存域名。
lichifeng
2016-09-15 11:36:45 +08:00
必备插件: relative-image-urls
lidongyx
2016-09-15 11:39:04 +08:00
用插件就不大好了,可以用代码修改的,也可以一开始就用七牛云存储,这样就没有问题了
alect
2016-09-15 12:59:01 +08:00
用 wordpress 谨记不要把图片存在本地。。。
garth
2016-09-15 13:03:26 +08:00
写个 SQL 批量替代新域名
ibolee
2016-09-19 10:13:37 +08:00
UPDATE wp_posts
SET guid = REPLACE (guid, 'localhost', 'newsiteurl.com')
WHERE post_type = 'attachment';
ray1980
2016-09-21 20:49:19 +08:00
@alect 为什么不能存本地?
elone
2016-09-22 00:01:34 +08:00
我一直是这样搞的:
UPDATE wp_posts SET post_content = REPLACE( post_content, 'localhost', 'newurl.com' )
UPDATE wp_posts SET guid = REPLACE( guid, 'localhost', 'newurl.com' )
UPDATE wp_options SET option_value = REPLACE( option_value, 'localhost', 'newurl.com' )


每次这样都很麻烦不是吗? 就是不明白为什么一定要这样。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/306410

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX