У меня есть файл 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
.