ForceType application/octet-stream
Não deve ser necessário substituir o correto Content-Type para forçar um download. A configuração do cabeçalho Content-Disposition apropriado deve ser suficiente em todos os navegadores modernos.
you can create "aliases" of a folder using the same .htaccess file
Sim, mais ou menos. Embora você não seja capaz de usar o mesmo .htaccess no diretório /files - se é isso que você está sugerindo?
Tente o seguinte ... remova o arquivo .htaccess no diretório /files e adicione as seguintes diretivas ao arquivo .htaccess na raiz do documento (ou subdiretório apropriado). Essas diretrizes podem precisar chegar perto do topo se você tiver diretivas existentes - a ordem pode ser importante.
RewriteEngine On
# Force download all direct requests to the ./files directory
RewriteCond %{REDIRECT_STATUS} ^$
RewriteRule ^files/ - [E=FORCE_DOWNLOAD:1,T=application/octet-stream]
# Internally rewrite requests for ./streams to ./files
RewriteRule ^streams/(.+) files/$1 [L]
# Only set the Content-Disposition header when forcing a download
Header set Content-Disposition attachment env=FORCE_DOWNLOAD
O código acima ainda substitui o Content-Type ao forçar um download (por exemplo, T=application/octet-stream flag no RewriteRule ). Embora eu acredite que isso deva ser evitado.
A verificação da diretiva RewriteCond em relação a THE_REQUEST REDIRECT_STATUS impede solicitações para o diretório ./streams "virtual" que também está sendo baixado. Ele garante que apenas solicitações "diretas" para o diretório ./files sejam baixadas.