Назад | Перейти на главную страницу

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

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

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

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

Вы можете просто установить 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.