
Acabei de configurar um servidor Apache2 e funciona bem. Como o objetivo do servidor é simplesmente servir arquivos versionados, criei um latest
link simbólico direcionadopor exemplo myfile_v1.1.0.ext
.
O problema é que quando acesso a URL http://localhost/latest
, a janela de download aparece latest
como nome do arquivo e application/octet-stream
como tipo MIME.
Gostaria que ao acessar essa mesma URL ela aparecesse myfile_v1.1.0.ext
como nome do arquivo e application/my-app
como tipo MIME.
Existe uma maneira de conseguir isso?
Muito obrigado antecipadamente
Responder1
Uma maneira de fazer isso seria usar um Alias na configuração do Apache. A desvantagem é que você precisará atualizar isso sempre que houver um lançamento, mas a vantagem é que você pode ter um maior grau de controle sobre como o arquivo é tratado.
Aqui está como você pode fazer isso:
- Edite o arquivo Apache
.conf
para o site - Adicione isto na
<VirtualHost>
seção:
Observação:Certifique-se de substituirAlias "/download" "/path/to/releases/myfile_v1.1.0.ext" <Directory "/path/to/releases"> Options FollowSymLinks AllowOverride All <FilesMatch "\.(ext|zip)$"> Header set Cache-Control "max-age=1209600, public" ForceType application/tar+gzip </FilesMatch> </Directory>
application/tar+gzip
pelo tipo de conteúdo adequado para o arquivo. - Salve o arquivo e reinicie o Apache:
Observação:Sinta-se à vontade para mudarsudo service apache2 restart
restart
comreload
. - Teste o URL visitando
your.site/download
Isso foi testado no Ubuntu Server 20.04.3 LTS com Apache 2.4.41
Responder2
A solução é simplesmente adicionar uma Redirect
diretiva no arquivo de configuração do Apache para o seu site.
Redirect "/latest" "files/myfile_v1.1.0.ext"