Такой вид подписи можно использовать если есть несколько файлов в одной папке , например:
/1/2/31.mp4 /1/2/32.mp4 /1/2/33.mp4
В этом случае можно сгенерировать подписанную ссылку для части
/1/2/
и подставлять только имена файлов без изменения подписи. Также вариант использования частичной подписи, если имена файлов в одной подпапке отличаются качеством , к примеру
/1/2/3_240p.mp4 /1/2/3_360p.mp4 /1/2/3_480p.mp4
Можно подписать часть файла
/1/2/3_
и менять только конечную часть ссылки .
Пример скрипта для генерации подписи
<?php
# время жизни ссылки
$expire = time() + 3600;
# файл в цдне 1/2/3_720p.mp4
$file_part1 = "1/2/3_";
$file_part2 = "720p.mp4";
$file_part1_len = length($file_part1);
$url = ",end=$expire,len=$file_part1_len/$file_part1";
# можно изменять настройки скорости и буфера в урле , по-умолчанию берутся настройки аккаунта, потом домена
# http://wiki.ahcdn.com/doku.php?id=ru:feature_default_settings
#$url = ",end=$expire,len=$file_part1_len/speed=300K/buffer=5.0/$file_part1";
$domain = 'cdn.domain.com';
# secret нужно запросить у поддержки цдна , изменять нельзя - ссылка не будет проходить проверку
$secret = 'qwerty';
$key = substr(base64_encode(md5("$secret$url", true)), 0, 22);
$key = str_replace('/', '-', $key);
$fullurl = 'http://' . $domain . '/key=' . $key . $url$file_part2;
# Получится ссылка вида
# $fullurl == "http://cdn.domain.com/key=9CVHszhqqsA,end=1374068216,len=6/1/2/3_720p.mp4"
?>
Есть возможность указывать “белый список” адресов , для которых не будет проверяться подпись урла( настройка keycheck_whitelist у клиента). Делается через поддержку цдна.
Про обычную подпись можно почитать здесь: Подпись ссылки