现在的位置:首页>wordpress>正文

修改wordpress站内的图片为指定二级域名的两个方法

2016年09月28日 ⁄ 共 2117字 评论 1 条

部落相信委多的朋友,现在都在使用CDN服务了,国内目前免费的CDN服务,部落只能说是可圈可点,基本都有抽风的情况出现,所以我们可以考虑只将网站中的部分资源进行CDN加速,如果加速图片的话,一般的CDN都可以设置加载的文件类型.但我们还有一个更好的方法,那就是修改wordpress站内的图片为指定二级域名,这样的话,我们就可以只对指定的图片域名进行加速即可.

当然,如果您用的是收费的CDN服务,那么部落建议您进行全站加速.当然,前几天介绍的七牛云存储配合WP Super Cache使用教程您可以看看,对于网站流量不是很大的情况下,这个静态资源加速的CDN还是不错的.

部落目前自己使用的就是七牛云存储,同样是二级域名来加速网站图片,我们在源代码下可以看到:

修改wordpress站内的图片为指定二级域名的两个方法

修改wordpress站内的图片为指定二级域名

wordpress3.5之前的老版本,都是可以直接图片的设置上传路径,但后面的版本,都没有了,都是采用的默认路径了.我们先将以下代码加入到主题的functions.php文件中,找到这个设置:

  1. if(get_option('upload_path')=='wp-content/uploads' || get_option('upload_path')==null) {
  2. update_option('upload_path',WP_CONTENT_DIR.'/uploads');
  3. }

然后进入设置选项下的多媒体设置界面,如下图:

修改wordpress站内的图片为指定二级域名的两个方法

添加了上面的代码后,我们就能看到设置的选项:

修改wordpress站内的图片为指定二级域名的两个方法

默认上传路径不用修改,仅需要在文件的完整URL地址里填上你的二级域名,然后登录空间后台将域名指向默认的上传路径目录.

接下来,我们需要登录域名后台解析域名到空间.

dot_tk_10

新建一个您命名的域名前缀指向您的主机IP即可.

登录phpmyadmin选择安装wordpress的数据库,执行以下sql查询:

  1. UPDATE wp_posts SET post_content = REPLACE( post_content,'https://www.mfbuluo.com/wp-content/uploads/', 'http://img.mfbuluo.com/') ;

sql语句中的数据表前缀和域名替换成你自己的即可,如果没有修改过默认数据表前缀的小伙伴只要把相应的替换后执行sql语句即可.

另外,这里提示一下,浏览通常只会同时载入一个域名下的4个资源,使用二级域名图床可以增加浏览器同时载入的文件数量,也可以达到加速网站的效果.

上面的这个方法,来源自V7V3的博客,下面还有一个方法,也不错,但部落没有测试,有兴趣的朋友可以参考一下.

我们在 wp-config.php中加入如下代码:

  1. //指定cookies的域名
  2. define('COOKIE_DOMAIN', 'www.mfbuluo.com');

然后在模板目录下的function.php添加以下内容:

  1. ob_start("Static_Switch");
  2. function Static_Switch($buffer){
  3. $buffer_out = preg_replace('/http:\/\/www.mfbuluo\.com\/wp-([^"\']*?)\.(jpg|png|gif|css|js|woff|woff2|ttf|svg|eot)/i','http://static.mfbuluo.com/wp-$1.$2',$buffer);
  4. return $buffer_out;
  5. }

如果使用了WP Super Cache 的插件的静态化功能所以要清除一下缓存,然后到页面上去看看图片地址是不是修改了.

成功修改以后,您就可以使用这个域名使用百度或者36CDN的服务了.

另外,这个方法,我们通过static.mfbuluo.com这个域名,可以访问网站的首页,但一般的情况,用不到,这样对SEO也不利,我们可以在当前主题的functions.php文件中加入以下代码:

  1. #域名301
  2. function url301(){
  3. if(strtolower($_SERVER['SERVER_NAME'])=='static.mfbuluo.com')
  4. {
  5. $URIRedirect=$_SERVER['REQUEST_URI'];
  6. if(strtolower($URIRedirect)=="/index.php" ){
  7. $URIRedirect="/";
  8. }
  9. header('HTTP/1.1 301 Moved Permanently');
  10. header('Location:http://www.mfbuluo.com'.$URIRedirect);
  11. exit();
  12. }
  13. }
  14. add_action( 'plugins_loaded', 'url301' );

到此,我们就可以将图片作为一个单独的域名来使用了.

小结

文章中的方法均来源自网络,由免费部落整理发布.

不过现在的话,一般情况下直接这样去修改的情况,部落遇到的不多.而一般CDN加速,那些有强迫症的朋友,可能只希望对应的图片或者其它文件加速,一来可以省不少流量,变相的省钱了,二来的话,这样可以防止整个站点被镜像.

评论 1 条 评论内容很精采,有内幕,而且绝对有干货

  1. 我爱动感单车网 2016年09月29日 15:35  @回复  Δ-49楼 回复

    感觉挺麻烦,个人不喜欢!

给我留言