URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 3091
[ Назад ]

Исходное сообщение
"Помогите разобратся с правилом для mod_rewrite. "

Отправлено Dot , 16-Фев-05 14:43 
Огромная просьба помочь. Вопрос больше к знатокам Apache и mod_rewrite.

Задача не совсем стандартная, заключается в следующем, нужно не дать скачивать с сервера файлы с прямых ссылок. ОСНОВНАЯ ОГОВОРКА! средствами одного mod_rewrite perl и php не поддерживается, а проверка по HTTP_REFERER не годится т.к. ссылка должна быть действительна в течении 24 часов, не взирая на от куда я по ней кликнул.

Реализация видится при помощи файла - флажка, который будет, находится на сервере определенное время, и находится в определенной директории. Ссылка на файл будет выглядеть следующим образом: _http://server.ru/id-flag/dir/file.zip где id-flag имя существующего на сервере файла - флажка. Долго пытался состряпать это правило сам, но что-то не выходит, вот что думается, вероятно, не правильно.

RewriteEngine on
RewriteRule ^([a-z0-9]{10})\/ $1 [C,E=FlagFile:$1]
RewriteCond flag/%{ENV:FlagFile} -f
RewriteRule ^(.*) dl/a.txt

ПОМОГИТЕ кто может, а то приходится платить не за своих пользователей.

Содержание

Сообщения в этом обсуждении
"Помогите разобратся с правилом для mod_rewrite. "
Отправлено Dot , 17-Фев-05 16:26 
В общем то разобрался Сам, если кому интересно, реализовал сл. образом:

RewriteEngine on
RewriteCond %{DOCUMENT_ROOT}/flag/$1 -f
RewriteRule ^([a-z0-9]{10})/(.+)$ /dl/$2 [NC,L]

# Запрет прямого доступа к dl:
#RewriteCond %{THE_REQUEST} "^GET */dl/" [NC]
#RewriteRule ^ / [NC,L,F]