V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
elone
V2EX  ›  WordPress

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

  •  
  •   elone · 2016-09-15 11:12:56 +08:00 · 3209 次点击
    这是一个创建于 3016 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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


    每次这样都很麻烦不是吗? 就是不明白为什么一定要这样。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3036 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:05 · PVG 22:05 · LAX 06:05 · JFK 09:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.