elone
V2EX  ›  WordPress

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

  •  
  •   elone · Sep 15, 2016 · 3843 views
    This topic created in 3596 days ago, the information mentioned may be changed or developed.

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

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

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


    每次这样都很麻烦不是吗? 就是不明白为什么一定要这样。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1364 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 42ms · UTC 23:52 · PVG 07:52 · LAX 16:52 · JFK 19:52
    ♥ Do have faith in what you're doing.