Forum Webscript.Ru
Программирование => PHP => Тема начата: ekeeper от 22 Июня 2006, 15:58:22
-
Короче есть например файл на серваке
у него есть прямая ссылка http://www.test.ru/game.exe
как сделать, чтобы пользователь мог ввести любую ссылку, но качался именно этот файл, но с именем как в той ссылке, которую ввел пользователь
то есть оригинал http://www.test.ru/game.exe
а пользователь ввел в адресной строке http://www.test.ru/game_125ertr.exe
(пусть _125ertr - префикс - "_" разделитель, а остальное какой-то id)
как сделать, чтобы качался на самом деле http://www.test.ru/game.exe - но имя скачиваемого файла было game_125ertr.exe?????
очень срочно... :insane:
-
mod_rewrite (http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html)
-
я пытался его учить, но плохо получается :( может примером кто поможет?
Описание:
На некоторых веб-серверах существует более одного URL для какого-либо ресурса. Обычно существуют реальные URL (которые в действительности следует использовать и распространять) и те, которые просто являются ссылками, внутренними, и т.д. Независимо от того, какой URL пользователь применил в своём запросе, в конце концов, он должен увидеть только реальный URL.
Решение:
Для всех виртуальных URL, мы делаем внешний HTTP редирект, исправляя их и в адресной строке браузера и во всех последующих запросах. В приведённом ниже наборе правил /~user заменяется реальным /u/user и исправляется отсутствующий завершающий слэш для /u/user.
RewriteRule ^/~([^/]+)/?(.*) /u/$1/$2 [R]
RewriteRule ^/([uge])/([^/]+)$ /$1/$2/ [R]
это? или нет? я так понял, что в данном примере идет просто редирект... то есть просто ссылка подменится и файл скачается со старым именем. Или нет? я просто реврайт плохо осиливаю.
а больше там похожих задаче примеров нет :(
-
RewriteRule ^game(.+)\\.exe game.exe
-
СПАСИБО!!!! сейчас проверю :))))
-
эээ... а для произвольного файла тогда как сделать? если разделитель "_"
то есть любой файл имеющий в имени "_" редиректить
-
ekeeper
Пригодится: http://www.ilovejackdaniels.com/cheat-sheets/mod_rewrite-cheat-sheet/
-
нет, не работает. Все равно предлагает скачать файл с именем game.exe а не тем, которое было в запросе
-
ekeeper
Тогда лови запрос на свой скрипт (mod_rewrite или htaccess), им отдавай content-type и content-disposition. Ну и файлик, echo(file_get_contents);
-
можно конечно через пхп сделать, но докачка тогда обломится людям :(