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