Я только что установил сервер Apache2, и он работает нормально. Поскольку цель этого сервера - просто обслуживать версионные файлы, я создал latest
симлинк, который нацелен на например, myfile_v1.1.0.ext
.
Проблема в том, что когда я обращаюсь к URL http://localhost/latest
, окно загрузки показывает latest
как имя файла и application/octet-stream
как MIME тип.
Я бы хотел, чтобы при обращении к этому же URL, он показывал myfile_v1.1.0.ext
как имя файла и application/my-app
как MIME тип.
Есть ли способ добиться этого?
Большое спасибо заранее
Один из способов сделать это - использовать псевдоним в конфигурации Apache. Обратной стороной является то, что вам нужно будет обновлять это каждый раз, когда будет выпуск, но преимущество в том, что вы можете иметь большую степень контроля над тем, как обрабатывается файл.
Вот как это можно сделать:
.conf
для сайта
: {{1 }} Псевдоним "/ download" "/path/to/releases/myfile_v1.1.0.ext"
Параметры FollowSymLinks {{1 }} AllowOverride All
Заголовочный набор Cache-Control "max-age = 1209600, общедоступный" {{1} } ForceType application / tar + gzip
Примечание: Обязательно замените application / tar + gzip
с правильным типом содержимого для файла. sudo service apache2 restart
Примечание: Вы можете переключить restart
на перезагрузить
. your.site/download
Это было протестировано на сервере Ubuntu 20.04.3 LTS с Apache 2.4.41
Решение состоит в том, чтобы просто добавить директиву Redirect
в файл конфигурации Apache для вашего сайта.
Redirect "/latest" "files/myfile_v1.1.0.ext"