由于文章等内容的图片路径为绝对路径,所以在更换域名之后,可能会造成部分资源无法正常显示,所以需要去数据库全局替换一下域名。
连接到数据库
H2
登录到服务器,使用 vim 打开配置文件:
vim ~/.halo/application.yaml
修改内容如下:
h2:
console:
settings:
web-allow-others: true
path: /h2-console
enabled: true
也就是将 web-allow-others
和 enabled
字段改为 true。
改完之后重启 Halo。
接着访问 ip:端口/h2-console 即可登录到控制台,执行以下 SQL 语句即可。
默认的 url 为: jdbc:h2:file:~/.halo/db/halo,用户名和密码在你的 application.yaml 里面有。
UPDATE OPTIONS SET OPTION_VALUE = replace(OPTION_VALUE , '旧域名','新域名') ;
UPDATE COMMENTS SET AUTHOR_URL = replace(AUTHOR_URL , '旧域名','新域名') ;
UPDATE PHOTOS SET THUMBNAIL = replace(THUMBNAIL , '旧域名','新域名') ;
UPDATE PHOTOS SET URL = replace(URL , '旧域名','新域名') ;
UPDATE POSTS SET FORMAT_CONTENT = replace(FORMAT_CONTENT , '旧域名','新域名') ;
UPDATE POSTS SET ORIGINAL_CONTENT = replace(ORIGINAL_CONTENT , '旧域名','新域名') ;
UPDATE POSTS SET THUMBNAIL = replace(THUMBNAIL, '旧域名','新域名') ;
UPDATE THEME_SETTINGS SET SETTING_VALUE = replace(SETTING_VALUE, '旧域名','新域名') ;
UPDATE CONTENTS SET CONTENT = replace(CONTENT , '旧域名','新域名') ;
UPDATE CONTENTS SET ORIGINAL_CONTENT = replace(ORIGINAL_CONTENT , '旧域名','新域名') ;
MySQL
除了连接方式不同,其他一样。