Apache2 symlink - Как использовать имя цели и MIME тип

Я только что установил сервер 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 тип.

Есть ли способ добиться этого?

Большое спасибо заранее

0
задан 23 August 2021 в 13:59

2 ответа

Один из способов сделать это - использовать псевдоним в конфигурации Apache. Обратной стороной является то, что вам нужно будет обновлять это каждый раз, когда будет выпуск, но преимущество в том, что вы можете иметь большую степень контроля над тем, как обрабатывается файл.

Вот как это можно сделать:

  1. Отредактируйте файл Apache .conf для сайта
  2. Добавьте это в раздел : {{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 с правильным типом содержимого для файла.
  3. Сохраните файл и перезапустите Apache:
     sudo service apache2 restart 
     
    Примечание: Вы можете переключить restart на перезагрузить .
  4. Проверьте URL, посетив your.site/download

Это было протестировано на сервере Ubuntu 20.04.3 LTS с Apache 2.4.41

0
ответ дан 4 September 2021 в 09:28

Решение состоит в том, чтобы просто добавить директиву Redirect в файл конфигурации Apache для вашего сайта.

Redirect "/latest" "files/myfile_v1.1.0.ext"
0
ответ дан 4 September 2021 в 09:28

Другие вопросы по тегам:

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