Definir nome personalizado para baixar arquivos

1

Eu tenho o seguinte arquivo de configuração no meu 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>

E quando vou para o link , espero que ele baixe o arquivo como nav.exe . Mas, em vez disso, faz o download como 'download'.

Como posso definir um nome personalizado para este download?

    
por CB49 12.06.2017 / 22:45

1 resposta

0

Não tenho certeza se isso funcionará, pois não estou familiarizado com o Apache. Mas um rápido google e talvez algo como o seguinte funcionará:

Primeiro, ative o módulo do apache mod_headers Veja aqui sobre como fazer isso.

Em seguida, defina seu bloco de diretório em sites habilitados para:

<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>

O e no final de {FILENAME} aparentemente significa o conteúdo do ambiente FILENAME. Então não deixe isso de lado. Se isso funcionar, não tenho certeza se isso resultará em um arquivo que deseja ser chamado de nav.exe ou nav .

Esta é uma amostra adaptada do link que lhe enviei. Experimente e veja.

    
por 13.06.2017 / 22:34