Автор Тема: замена прямой ссылки, ссылкой нужного формата  (Прочитано 6214 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ekeeper

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://livejournal.com/~ekeeper
Короче есть например файл на серваке
у него есть прямая ссылка 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:

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля

Оффлайн ekeeper

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://livejournal.com/~ekeeper
я пытался его учить, но плохо получается :( может примером кто поможет?

Цитировать
Описание:

    На некоторых веб-серверах существует более одного URL для какого-либо ресурса. Обычно существуют реальные URL (которые в действительности следует использовать и распространять) и те, которые просто являются ссылками, внутренними, и т.д. Независимо от того, какой URL пользователь применил в своём запросе, в конце концов, он должен увидеть только реальный URL.
Решение:

    Для всех виртуальных URL, мы делаем внешний HTTP редирект, исправляя их и в адресной строке браузера и  во всех последующих запросах. В приведённом ниже наборе правил /~user заменяется реальным /u/user и исправляется отсутствующий завершающий слэш для /u/user.

    RewriteRule   ^/~([^/]+)/?(.*)    /u/$1/$2  [R]
    RewriteRule   ^/([uge])/([^/]+)$  /$1/$2/   [R]


это? или нет? я так понял, что в данном примере идет просто редирект... то есть просто ссылка подменится и файл скачается со старым именем. Или нет? я просто реврайт плохо осиливаю.

а больше там похожих задаче примеров нет :(

Оффлайн html_coder

  • Фанат форума
  • Старожил
  • ****
  • Сообщений: 427
  • +0/-0
  • 0
    • Просмотр профиля
RewriteRule ^game(.+)\\.exe game.exe

Оффлайн ekeeper

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://livejournal.com/~ekeeper
СПАСИБО!!!! сейчас проверю :))))

Оффлайн ekeeper

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://livejournal.com/~ekeeper
эээ... а для произвольного файла тогда как сделать? если разделитель "_"

то есть любой файл имеющий в имени "_" редиректить

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
LJ: Backslashed life (rss)

Оффлайн ekeeper

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://livejournal.com/~ekeeper
нет, не работает. Все равно предлагает скачать файл с именем game.exe а не тем, которое было в запросе

Оффлайн CGVictor

  • теперь местный
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 2511
  • +0/-0
  • 2
    • Просмотр профиля
    • http://cg.net.ru
ekeeper
Тогда лови запрос на свой скрипт (mod_rewrite или htaccess), им отдавай content-type и content-disposition. Ну и файлик, echo(file_get_contents);
LJ: Backslashed life (rss)

Оффлайн ekeeper

  • Завсегдатай
  • Новичок
  • *
  • Сообщений: 31
  • +0/-0
  • 0
    • Просмотр профиля
    • http://livejournal.com/~ekeeper
можно конечно через пхп сделать, но докачка тогда обломится людям :(

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28