И можно ли с помощью него же ограничивать скорость отдачи файла?
Можно, но для такого расклада нужно учесть несколько моментов:
- этот htaccess будет постоянно перезаписываться скриптом (когда выделется ссылка - внести директиву, когда время жизни ссылки вышло - убить директиву)
- учесть инструмент фиксирования времени жизни ссылки + по крону собственно говоря проверять раз в 3-5-10 минут (зависит от критичности возможности ссылки жить чуть дольше положенного)
Как вариант, могу предложить такой механизм:
- пользователь выбрал там что-то, чтобы получить временную ссылку
- скрипт читает файл htaccess (просто в переменную)
- генерирует случайную строку (можно и просто и банально через md5(time()) и проверяет, чтобы для такой строки не было уже записи в файле, если есть, можно просто еще раз к строке md5 применить и снова проверить и так пока не получится уникальная строка, снять текущее время
time(), добавить к нему время существования ссылки - получим время до которого ссылка живет
- добавить в htaccess строчку вида
RewriteRule ^tmplinks/временная-уникальная-строка/?$ реальный-явный-путь-к-файлу [L] #время-до-которого-ссылка-работает
- выдать юзеру адрес ссылки вида:
http://www.domain.ru/tmplinks/временная-уникальная-строка/
Далее, создать скриптик, который по крону будет запускаться с нужной частотой и просто проверять, есть ли в htaccess директивы перенаправления, которые как бы должны "умереть"? перезаписывать htaccess без этой строки (это время после # в строках директив перенаправления).
Лучше блок директив временных ссылок вообще выделить сверху и снизу "псевдотегами", чтобы этот блок можно было вставить туда, где нужно в файле, и потом не мучиться разбиранием и выделением нужных частей, что-то типа:
Код:
Основные директивы сайта
#tmplinks
......
Директивы временных ссылок
......
#/tmplinks
Основные директивы сайта