SoundCloud WordPress插件在通过HTTPS查看页面时会生成混合内容错误

时间:2014-05-28 21:07:31

标签: soundcloud

Hello SoundCloud团队:)

当通过SoundCloud Shortcode plugin将SoundCloud项目嵌入WordPress时,iframe的srcset to w.soundcloud.com/player?url=...。显然,正确的URL是w.soundcloud.com/player/?url=...(带有斜杠)。

通过HTTPS投放网页时,iframe的非尾随删除src方案已正确设置为https。但是,非traling-slashed https URL会被重定向到尾随的 http URL,这会导致混合内容错误并阻止嵌入加载。

$ curl -IL 'https://w.soundcloud.com/player?url=https%3A//api.soundcloud.com/tracks/142702630&auto_play=false&hide_related=false&visual=true'
HTTP/1.1 301 Moved Permanently
Location: http://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/142702630&auto_play=false&hide_related=false&visual=true
...

HTTP/1.1 302 Found
Location: https://w.soundcloud.com/player/?url=https%3A//api.soundcloud.com/tracks/142702630&auto_play=false&hide_related=false&visual=true
...

HTTP/1.1 200 OK
...

以下一个(或两个)可以解决问题。

  1. 更改重定向以转到https网址。
  2. 更新插件以指向正确的网址。

2 个答案:

答案 0 :(得分:1)

我挖了一下,发现了相同的答案:

https://wordpress.org/support/topic/shortcode-does-not-work-with-website-ssl

我可以说,如果您在WordPress上通过SSL遇到SoundCloud问题,请添加' /'推荐的字符,问题就消失了。也就是说,更改soundcloud_iframe_widget()功能中的网址以添加' /'在尾随之前'?'在

 // Build URL
  $url = 'https://w.soundcloud.com/player/?' . http_build_query($options['params']);
文件中的

$WORDPRESS_HOME/wp-content/plugins/soundcloud-shortcode/soundcloud-shortcode.php

它对我来说很好。

答案 1 :(得分:1)

  

按照建议添加'/'字符,问题就会消失。也就是说,改变soundcloud_iframe_widget()函数中的URL,在尾随'?

之前添加'/'

谢谢!与chrome和safari完美配合,但我仍然遇到firefox的问题。但这样做可以解决问题:

$url = 'https://w.soundcloud.com/player/' . '?' . http_build_query($options['params']);