Установить собственное имя для загрузки файлов

У меня есть следующий файл конфигурации на моем sites-available

<VirtualHost *:80>
    ServerName my.domain
    RewriteEngine On
    RewriteCond %{HTTPS} !=on
    RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>
<VirtualHost *:443>
    ServerName my.domain
    DocumentRoot /var/www/html
    ErrorLog /var/www/logs/error.log
    CustomLog /var/www/logs/access.log combined
    SSLEngine on
    SSLCertificateFile /var/www/certs/certificate.pem
    SSLCertificateKeyFile /var/www/certs/private.key
    SSLCertificateChainFile /var/www/certs/ca_bundle.pem
    <Directory /var/www/html>
            Options -Indexes
            AllowOverride All
            Require all granted
    </Directory>
    <Directory /var/www/html/nav>
            DirectoryIndex nav.exe
            AllowOverride All
            Require all granted
    </Directory>
</VirtualHost>

И когда я перехожу на https: // my. domain / nav , я ожидаю, что он загрузит файл как nav.exe . Но вместо этого он загружает его как «загрузка».

Как я могу установить собственное имя для этой загрузки?

1
задан 12 June 2017 в 23:45
1 ответ

Не уверен, что это сработает, так как я не знаком с Apache. Но быстрый google и, возможно, что-то подобное сработает:

Сначала включите модуль apache mod_headers . Смотрите здесь о том, как это сделать.

Затем установите ваш блок каталогов на сайтах, включенных в:

<Directory /var/www/html/nav>
    DirectoryIndex nav.exe
    AllowOverride All
    Require all granted
    SetEnvIf Request_URI "^.*/([^/]*)$" FILENAME=$1
    Header set "Content-disposition" "attachment; filename=%{FILENAME}e"
    UnsetEnv FILENAME
</Directory>

e в конце {FILENAME} видимо означает содержимое окружения FILENAME. Так что не оставляйте это без внимания. Если это сработает, то я не уверен, получится ли в результате файл, который будет называться nav.exe или nav.

Это адаптированный образец ссылки, которую я вам послал. Попробуйте и посмотрите.

0
ответ дан 4 December 2019 в 04:51

Теги

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