2018年5月18日星期五

WordPress图片二级域名有什么用?如何加载使用?

原文链接:https://www.chenweiliang.com/cwl-749.html


当你将子域名(二级域名)作为类别目录或专题时,你可以提升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。


陈沩亮博客使用 http://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.


解析子域名


进入DNSPod域名管理,添加二级域名(子域名) ▼



将子域名的A记录,解析到主机的IP地址 ▼


进入DNSPOD域名面板,将子域名的A记录,解析到主机的IP地址


  • 然后,在主机面板上添加二级域名 。

  • 不会的,请询问你的域名或主机托管服务商。

VestaCP面板添加域名,可以参考这篇教程 ▼



复制图片


在子域名绑定之后,通常会自动创建一个包含此子域名为目录名称的目录。


如果你绑定 img.chenweiliang.com,则会自动生成IMG目录。


如果是一个WordPress博客,将 wp-content/uploads 目录中的文件,复制到IMG目录里。


WordPress设置文件上传路径


WordPress版本3.5或更高版本,在后台隐藏了媒体(Media)设置页面的上传路径(upload_path)和文件 URL 地址(upload_url_path)设置。


下图是先前版本的媒体设置界面 ▼


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');

}

  • 这种方法是最简单和最有效的,所以推荐使用。

由于img目录仍在当前主机上,因此在编写博客文章时,仍然可以使用WordPress自己的编辑器插入图像。


WordPress图片路径设置方法:


转到WordPress控制面板,转到“设置”下的“媒体,将默认上传路径更改为IMG目录的完整路径。


例如:


/home/用户名/web/img.chenweiliang.com/public_html

将“文件的完整URL”更改为:


http//img.chenweiliang.com

  • 请注意,它后面不应有“/”。

替换数据库中的原始图像路径


以下是以VestaCP面板的服务器路径为例(请修改成自己的服务器路径)。


将原始图片URL,替换为图片二级域名:


  • https://www.chenweiliang.com/wordpress/wp-content/uploads/ 是原始图片URL;

  • https://img.chenweiliang.com/ 是新的图片二级域名。

将原始服务器路径,替换为新的服务器路径:


  • /home/用户名/web/chenweiliang.com/public_html/wp-content/uploads 是原始服务器路径。

  • /home/用户名/web/img.chenweiliang.com/public_html 是新的服务器路径。

替换MySQL数据库中的路径,推荐安装使用 WP Migrate DB 插件 ▼



图片链接301重定向


在.htaccess文件用正则表达式301重定向说明:


  • (.+) 对应的是任意字符(包括汉字、英文字母等)

  • (\d+)对应的是任意数字(仅仅是阿拉伯数字)

  • $1 $2 $3 是前面出现过的变量的再次引用

可以用RedirectMatch实现链接重定向:


  • 将:https://www.chenweiliang.com/wp-content/uploads/

  • 重定向到:https://img.chenweiliang.com/

在 .htaccess文件中,添加以下301重定向代码 ▼


RedirectMatch 301 ^/wp-content/uploads/(.*)$ https://img.chenweiliang.com/$1

检查修改结果


  • 修改后,检查刷新页面,查看图片是否如常显示?

  • 然后,检查图片路径,是否为新二级域名的图片路径?

  • 转到WordPress文章编辑器,查看文章图片显示,是否如常显示?

倘若一切如常,你也就完成了WordPress图片加载二级域名的设置了。


以后文章中的图像,将保存在IMG目录中。


当你需要网站搬家转移图片时,只需将IMG目录打包后上传到新主机。


然后在DNSPod修改 img.chenweiliang.com 二级域名的IP地址即可。





欢迎转载《WordPress图片二级域名有什么用?如何加载使用?
陈沩亮版权所有,转载请注明出处链接:https://www.chenweiliang.com/cwl-749.html


网站地址:https://www.chenweiliang.com/



欲学更多秘技,请关注微信公众号:cwlboke

没有评论:

发表评论