Укажите субдомен непосредственно на файл

У меня есть файл jar, который я хотел бы сделать легко доступным для пользователей с простым поддоменом. В настоящее время они посещают https://subdomain.example.com/application.jar , и это непосредственно запускает загрузку приложения. Я бы предпочел сократить его до https://subdomain.example.com/ , и когда они переходят по этой ссылке, ссылка перенаправляется (возможно, .htaccess ) на application.jar ресурс, или, возможно, на индексной странице есть код, который запускает загрузку приложения.

Этот субдомен предназначен специально для приложения. По сути, это https://application.example.com/application.jar . Нет других обслуживаемых страниц или контента. Просто простая ссылка для прямой загрузки ресурса. Каков наилучший и самый простой способ добиться этого?

Я попытался указать DNS-запись непосредственно на ресурс. Это было бесполезно. Я пробовал выполнить 301 редирект, но, возможно, сделал это неправильно. Я еще не пробовал индексную страницу с, возможно, некоторым JavaScript, потому что это кажется слишком сложным и подверженным ошибкам методом.

0
задан 3 December 2018 в 12:03
1 ответ

Вы можете просто установить DirectoryIndex :

DirectoryIndex application.jar

Следующим строкам требуется mod_headers и они предоставят правильное имя файла для загрузки:

<Files application.jar>
    ForceType application/java-archive
    Header set Content-Disposition "attachment; filename=application.jar"
</Files>

Однако, как я уже подозревал, не все клиенты уважают эти заголовки. С Chrome я получил правильное имя файла в тестах, wget игнорирует его и сохраняет файл как index.html

В целом, 301 было бы более подходящим. Рабочее перенаправление будет:

RewriteEngine on
RewriteCond   %{REQUEST_FILENAME} -f
RewriteRule   ^ - [L]
RewriteRule   ^ "/application.jar"  [R]

Это перенаправит любой путь в этом поддомене, который не существует в виде файла, на /application.jar .

3
ответ дан 4 December 2019 в 12:16

Теги

Похожие вопросы