WordPress上传文件是http还是https的呢?

使用ImageElevator插件等上传完图片插入的图片的链接是http地址,而如果我们站点启用了https并通过https访问时,图片就不是通过https的啦。
这是需要使用不带schema的地址形式。

方案一,设置这个wp-option

upload_url_path为不带schema的相对路径(域名可选)。
参考定义在wp-includes/functions.php中的_wp_upload_dir函数。
这个可行, 暂时用这个。

方案二,定义一个upload_dir filter来处理下上传路径。

add_filter('upload_dir', 'relative_upload_dir');
function relative_upload_dir( $param ){
    $param['url'] = 'wp-content/uploads';
    return $param;
}

方案三,WP_CONTENT_URL修改成自适应schema或者无schema的。

define('WP_CONTENT_URL', 'example.com/wp-content/uploads');

但是很多插件不支持这个,比如ImageElevator就不支持这个。

Relative URLs in WordPress – Stack Overflow
#13941 (WP_CONTENT_URL should use site_url() to support HTTPS / SSL) – WordPress Trac

发表评论

电子邮件地址不会被公开。 必填项已用*标注