文章目录
当你将子域名(二级域名)作为类别目录或专题时,你可以提升URL的权重,以达到SEO搜索引擎优化的效果。
例如,网站上的所有图片,使用二级域名 img.chenweiliang.com
作为图床 ▼
你可以使用二级域名作为图像路径,随时将图片从博客转移到更快的主机,只需上传图片并更改子域解析,即可解决问题。
要是你拥有中国国内的CDN服务主机,你也可以大大加快浏览速度,减轻许多服务器的负担。
由于陈沩亮博客使用WWW子域名,这种类型子域名的cookie不会污染IMG子域名,并且可以享受cookie-free,加快访问速度。
什么是Cookie-free?
YSlow就如何提高网页效率和优化网站性能提供了22条建议。
- 其中之一是关于域名的:使用Cookie-free domains。
- 当用户浏览器发送静态文件(如图片图片或CSS样式表文件)时,同一域名(或二级域名)中的cookie将同时发送,但Web服务器完全忽略发送过来的Cookie,因此这些无用的Cookie被浪费网站带宽,影响网站加速和网页性能。
- YSlow建议,为了解决这个问题,你可以使用Cookie-free domains方法来优化cookies的使用,以提高网页的效率。
如果你直接使用如 chenweiliang.com
这样的顶级域名作为你的博客域名,那么使用子域名作为图床不能实现Cookie-free。
- 因为顶级域名
chenweiliang.com
会向所有被请求的静态文件的二级域名服务器发送cookie。
如果你想支持Cookie-free的图床,则需要使用不同的域名来实现Cookie-free。
- 陈沩亮博客使用
www.chenweiliang.com
的子域名没有问题。
添加指定cookies域
在 wp-config.php文件中,添加以下语句 ▼
/** 指定cookies域 */ define('COOKIE_DOMAIN', 'www.chenweiliang.com');
以下是Wordpress 官方 对 Set Cookie Domain 的说明:
为Wordpress设置的COOKIES Domain 可以进行一些特殊情况下的域名设置。比如使用二级域名存放静态内容。为了阻止Wordpress Cookies 在对每一个二级域名上的静态内容请求时被传送,我们可以只设置非静态域名为cookie domian。
The domain set in the cookies for WordPress can be specified for those with unusual domain setups. One reason is if subdomains are used to serve static content. To prevent WordPress cookies from being sent with each request to static content on your subdomain you can set the cookie domain to your non-static domain only.
解析子域名
第 1 步:进入DNSPod域名管理,添加二级域名(子域名) ▼
第 2 步:将子域名的A记录,解析到主机的IP地址 ▼
第 3 步:在主机面板上添加二级域名
- 不会的,请询问你的域名或主机托管服务商。
VestaCP面板添加域名,可以参考这篇教程 ▼
复制图片到二级域名目录
在子域名绑定之后,通常会自动创建一个包含此子域名为目录名称的目录。
例如:
- 如果你绑定 img.chenweiliang.com,则会自动生成IMG目录。
- 如果是一个WordPress博客,请将
wp-content/uploads
目录中的文件,复制到IMG目录里。
下面是以VestaCP面板的服务器路径为例(请修改成自己的服务器路径)。
第 1 步:SSH 进入WordPress 的 uploads 文件夹目录 ▼
cd /home/用户名/web/你的域名/public_html/wp-content/uploads
第 2 步:复制当前目录下的所有文件,到指定目录 ▼
cp -rpf -f * /home/用户名/web/图片二级域名/public_html/
第 3 步:修复图片二级域名权限 ▼
chown -R admin:admin /home/用户名/web/图片二级域名/public_html/*
WordPress设置文件上传路径
WordPress版本3.5或更高版本,在后台隐藏了媒体(Media)设置页面的上传路径(upload_path)和文件 URL 地址(upload_url_path)设置。
下图是先前版本的媒体设置界面 ▼
- 通过此处的设置,你可以自定义保存文件的位置和生成的地址。
- 这个功能相当不错,只是不知道为什么要隐藏它?
如果你仍然需要自定义,则可以尝试以下方法恢复。
直接将以下代码添加到WP主题的 functions.php文件中,即可恢复设置界面:
//找回上传设置 if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) { update_option('upload_path',WP_CONTENT_DIR.'/uploads'); } }
- 这种方法是最简单和最有效的,所以推荐使用。
由于img目录仍在当前主机上,因此在编写博客文章时,仍然可以使用WordPress自带的编辑器,上传和添加图像。
修改WordPress图片上传路径
第 1 步:进入媒体选项
点击 “设置” 下的 “媒体” ▼
第 2 步:将 “默认上传路径”,更改为IMG目录的服务器路径 ▼
/home/用户名/web/img.chenweiliang.com/public_html
- 请注意,它后面不应有“/”。
第 3 步:将 “文件的完整URL”,更改为图片二级域名 ▼
https://img.chenweiliang.com
- 请注意,它后面不应有“/”。
第 4 步:点击“保存更改”。
替换数据库中的图像路径
下面是以VestaCP面板的服务器路径为例(请修改成自己的服务器路径)。
替换MySQL数据库中的路径,推荐安装使用 WP Migrate DB 插件 ▼
第 1 步:数据库批量替换 默认上传路径
将本来的服务器路径 ▼
/home/用户名/web/chenweiliang.com/public_html/wp-content/uploads
替换为新的服务器路径 ▼
/home/用户名/web/img.chenweiliang.com/public_html
第 2 步:数据库批量替换 图片二级域名
将本来的图片URL ▼
https://www. 你的域名 .com /wp-content/uploads/
- 备注:以上URL添加空格,是为避免本文出现死链。
替换为新的图片二级域名 ▼
https://img. 你的域名 .com/
- 备注:以上URL添加空格,是为避免本文出现死链。
图片链接301重定向
在.htaccess文件用正则表达式301重定向说明:
- (.+) 对应的是任意字符(包括汉字、英文字母等)
- (\d+)对应的是任意数字(仅仅是阿拉伯数字)
- $1 $2 $3 是前面出现过的变量的再次引用
可以用RedirectMatch实现链接重定向:
- 将:
https://www. 你的域名 .com/wp-content/uploads/
- 重定向到:
https://img. 你的域名 .com/
在 .htaccess文件中,添加以下301重定向代码 ▼
RedirectMatch 301 ^/wp-content/uploads/(.*)$ https://img.chenweiliang.com/$1
删除本来的图片目录
第 1 步:SSH进入WordPress 的 uploads 文件夹目录 ▼
cd /home/用户名/web/你的域名/public_html/wp-content/
第 2 步:删除 uploads 文件夹目录 ▼
rm -rf uploads
- 若没删除uploads 文件夹目录,可能无法成功301重定向到图片二级域名。
检查修改结果
- 检查刷新文章页面,查看图片是否如常显示?
- 检查图片路径,是否为新二级域名的图片路径?
- 查看本来的图片URL,是否成功301重定向到二级域名的图片URL?
- 转到WordPress文章编辑器,查看文章图片显示,是否如常显示?
倘若一切如常,你也就完成了WordPress图片加载二级域名的设置了。
- 以后文章中的图像,将保存在IMG目录中。
当你需要网站搬家转移图片时,只需将IMG目录打包后上传到新主机。
- 然后,在DNSPod修改 img.chenweiliang.com 二级域名的IP地址即可。
希望陈沩亮博客( https://www.chenweiliang.com/ ) 分享的《WordPress图片二级域名有什么用?如何改成图片子域名》,对您有帮助。
欢迎分享本文链接:https://www.chenweiliang.com/cwl-749.html
喜欢就分享和按赞!您的分享和按赞,是我们持续的动力!