将MP3请求重定向到Libsyn而没有iTunes的“字节范围”错误?

时间:2012-12-02 22:26:21

标签: php apache http-headers itunes podcast

我使用Libsyn进行多次播客,这是我以前从未遇到过的新问题。我发布了自己的RSS源,并通过我自己的服务器重定向音频文件请求,以便我可以自己进行日志记录。 iTunes拒绝我提交的Feed,其中包含“您的Feed存在问题。您的剧集托管在不支持字节范围请求的服务器上。启用字节范围请求并再次尝试提交。”< / p>

显然,Libsyn支持字节范围请求,因此问题似乎与我重定向请求的方式有关。这是我现有播客的一贯工作:

$id = 12345; // (the episode number)
$url = 'http://traffic.libsyn.com/myshow/myfile-'.$id.'.mp3';
header("Location: $url");

所以我尝试添加一些标题来说服iTunes我确实支持字节范围请求。我已经尝试过几乎所有我能想到的组合:

$id = 12345; // (the episode number)
$filesize = 12345678; // (the size of my file on Libsyn)
$url = 'http://traffic.libsyn.com/myshow/myfile-'.$id.'.mp3';
header('HTTP/1.1 206 Partial Content');
header('Content-Type: audio/x-mp3');
header('Accept-Ranges: bytes');
header("Content-Length: $filesize");
header("Location: $url");

我仍然在尝试将该节目提交给iTunes时出错,而且我的想法不合时宜。有什么建议吗?

2 个答案:

答案 0 :(得分:1)

您无法返回使单个HTTP响应成功(206)和重定向(位置标头,意味着30倍)。您需要自己提供内容,或者放弃记录。

答案 1 :(得分:1)

我鼓励其他许多发布过这个问题的人去寻找无关的错别字,而且我的问题就像傻了一样。 iTunes返回的错误并不一定意味着它所说的内容。