|
|
|
| Передо мной стоит задача сделать такое, как:
Есть директория в которой хранятся файлы:
/home/cernos/files/
есть директория сайта
/home/cernos/public_html/
На сайте есть директория downloads, т.е.
/home/cernos/public_html/downloads/
Вид обращения в адресной строке к директории downloads/
http://site.ru/downloads
в папке downloads нет не одного файла, кроме htaccess с помощью которого необходимо реализовать такое:
Когда обращаются и требуют файл с директории downloads, файл отдается с директории
/home/cernos/files/
Пример:
Посетитель запрашивает файл:
http://site.ru/downloads/video_file.rar
Отдается файл:
/home/cernos/files/video_file.rar
Но посетитель и все качалки видят, что файл отдается с http://site.ru/downloads/video_file.rar, а не с /home/cernos/files/video_file.rar
Я полагаю что такое реализовывается с помощью mod_rewrite в апаче, но не могу понять как.
Оч. срочно нужно, заранее спасибо. | |
|
|
|
|
|
|
|
для: cernos
(01.09.2007 в 03:56)
| | Может использовать Алиас? Поищите Alias в httpd.conf. Там и описание есть. | |
|
|
|
|
|
|
|
для: cernos
(01.09.2007 в 03:56)
| | Т.е. у вас виртуальный хост привязан к /home/cernos/public_html/ и вам нужно обращаться к /home/cernos/files/ за пределы виртуального хоста? Вероятно придётся делать символическую ссылку, в противном случае вряд ли удасться вытащить что-то из-за пределов виртуального хоста. | |
|
|
|
|
|
|
|
для: cheops
(02.09.2007 в 11:32)
| | Все сделал, выкладываю прмиер в паблик:
Order Deny,Allow
Deny from all
<Files STYLAND.RU_demon_creative-1136665670_i_3789_full.rar>
order allow,deny
Allow from 127.0.0.1
</Files>
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)$ ../../uploads/files/demon_creative-1136665670_i_3789_full.rar [L,QSA]
|
Что здесь, для того чтобы все поняли, а особенно новчики:
Order Deny,Allow
Deny from all
|
Запрещает доступ ко всем файлам всем пользователям, после
открываем доступ только к одному файлу, указываем его имя, в данном случае это файл:
STYLAND.RU_demon_creative-1136665670_i_3789_full.rar, пример ниже:
<Files STYLAND.RU_demon_creative-1136665670_i_3789_full.rar>
order allow,deny
Allow from 127.0.0.1
</Files>
|
После этого, указываем локальную ссылку, на сам файл, место с откуда его забирать:
RewriteEngine On
Options +FollowSymlinks
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*)$ ../../uploads/files/demon_creative-1136665670_i_3789_full.rar [L,QSA]
|
Таким образом, можно сделать такое:
Я обращаюсь, для скачивывания файла по адресу link.site.ru/STYLAND.RU_demon_creative-1136665670_i_3789_full.rar
он мне отдает файл, находящейся по настоящему на две директрии ниже в других папках, для чего это делалось:
1.Делал сайт с распределением прав пользователей VIP и USER
2.VIP пользователи обращались к vip.***.ru/файл
3.User пользователи обращались user.***.ru/файл
4.Для поддомена user.***.ru устанавливаются ограничения с помощью доп-ных модулей апач, на скорость скачивывания и дневной трафик
5.для того чтобы не копировать файл, для каждого юзера в разные поддомены, была придумана эта идея
Вид получения файла выглядел так:
user.***.ru/iqwue8934uier/file.rar
где iqwue8934uier - директория с именем сессии, в этой директории и лежал заветный htaccess файл, который давал доступ только определенному ip адресу и на определнный файл доступ. Вот так все просто.
Если это все знают, то прошу прощения, но найдется кто нить вроде меня, которому это потребуется.
Надеюсь всем когда нибудь пригодится. | |
|
|
|