WordPress网站图片二级域名设置教程,5分钟操作完毕,最近感觉到本站图片打开得很慢,就想把图片独立出来, 江湖人士这个网站,使用的是Linode的VPS,再配合免费的CDN ,因此就动手把图片做成二级域名形式来访问,经过半天时间的折腾和网上现学,基本上搞好了图片的二级域名访问,您可以随便打开一个链接查看本站的图片使用的是二级域名为:https://img.hotbests.com。接下来就说说我是如何把网站的图片设置成二级域名访问的。
WordPress网站图片二级域名
使用子级域名加载图片好处,或者说单独为WordPress网站的图片单独设置一个二级域名,网上有很多介绍,在此我就不多说了,感兴趣的站长可以自己网上搜索相关资料;使用二级域名来加载网站图片的具体步骤如下:
- 添加二级域名解析记录
- 网站服务器上创建二级域名目录
- 为二级目录绑定域名
- 修改WordPress上传路径
- 修改文章图片链接
上面的步骤是我设置二级域名的步骤,其实每个步骤之间没有固定的先后顺序,但我把先解析二级域名排在第一位,是因为解析生效时间有些服务商有一定的时间延迟,不会那么快生效,因此首先添加解析记录。
1. 添加二级域名解析记录
要想使用二级域名,你得添加二级域名的解析记录,添加解析记录要注意以下2点:
- 网站是否使用了CDN
- 域名是否支持泛解析
网站是否使用了CDN
网站使用了CDN时,你需要到所使用的CDN控制后台添加解析记录,如本站使用的是cloudflare的免费CDN,那就需要到cloudflare的后台添加,如下图所示:
我在上面添加了img.hotbests.com的二级域名解析后, cloudflare几乎是立即生效,这时候你打开cmd执行 ping img.hotbests.com 就可以看到,已经可以正常响应了。
域名是否支持泛解析
国外注册的域名大部分都支持泛解析,如果您的域名也支持,可以直接添加一条泛解析记录即可,以后无论开多少二级域名都不需要再次到注册商或者CDN这儿来添加对应的二级域名解析记录了。
2. 网站服务器上创建二级域名目录
这个步骤创建的目录非必须,但建议还是单独创建一个目录用于保存所有图片文件和其它文件;WP网站的默认图片路径是https://www.你的域名.com /wp-content/uploads/,如果你不使用二级域名的话,那么在你网站上的图片链接地址会是这样的形式:
https://www.你的域名.com /wp-content/uploads/2019/03/sitelog.jpg,使用二级域名后可以缩短你网站图片的链接,因此也减少了服务器向客户端发送的字节数,有利于网站的打开速度,当然这些改变其实对于现在的网络带宽而言,都是微乎其微的,为图片开启二级域名加载的目的并不是这一个。
回到正题,我我们直接在网站根目录创建一个目录,如我取名为:images,这个目录专门用于存放所有上传的图片和其它文件。你可以直接通过宝塔的可视化界面管理你的网站,并直接创建 images目录,如下图所示:
这个目录创建好了后,一定要进入网站目录【wp-content/uploads】将uploads里面所有文件复制放到你刚才创建的图片目录,至于这里面的文件,可以不用删除的。
3. 为二级目录绑定域名
为目录绑定二级域名也是通过宝塔的管理工具来完成,直接像创建网站那样操作即可,如下图所示:
在上面选择二级域名的根目录时,我们指向第2步创建的那个目录即可,如果你不想单独创建目录,也可以指向原来的上传文件保存路径(wp-content/uploads)。
4. 修改WordPress上传路径
高版本的wordpress是不直接支持修改文件的上传路径的, 你需要将以下代码添加到WP主题的 functions.php文件中,即可恢复设置界面:
//找回上传设置
if(get_option('upload_path')=='wp-content/uploads' ||get_option('upload_path')==null) {
update_option('upload_path',WP_CONTENT_DIR.'/uploads');
}
}
如果你的主题不支持修改文件的上传路径,就把以上代码加到主题的functions.php文件即可;而本站使用的是wpcom出品的justnews主题是可以支持修改文件的上传路径,我就直接修改了,如下图所示:
如果你喜欢和本站一样的主题,可以通过上面的按钮去他们官网看看,他家主题还有另外风格的,值得花钱购买。
具体的修改默认上传路径和文件的完整URL地址,可以参考上图来设置。
5. 修改文章图片链接
完成上面的步骤后,二级域名设置基本就完成了,剩下的我们要做的事情就是将老的文章里面的图片路径更改为新的路径,只需要进入phpmyadmin后台,打开数据库执行这条更新语句即可。
UPDATE wp_posts SET post_content = REPLACE(post_content, 'https://www.改成你的域名.com/wp-content/uploads' , 'https://img.改成你的域名.com');
执行上面的SQL语句需要注意的是,如果你为了安全的原因更改了数据库表名的前缀,你需要修改为你正确的表名。
最后你要做的操作
- 检查刷新文章页面,查看图片是否如常显示?
- 检查图片路径,是否为新二级域名的图片路径?
- 查看本来的图片URL,是否成功301重定向到二级域名的图片URL?
- 转到WordPress文章编辑器,查看文章图片显示,是否如常显示?
- 倘若一切如常,你也就完成了WordPress图片加载二级域名的设置了。
- 以后文章中的图像,将保存在images目录中。
当你需要网站搬家转移图片时,只需将images目录打包后上传到新主机。