Acho que o módulo mod_mime_magic pode ser o que você está procurando. Ele irá olhar o conteúdo do arquivo e adivinhar qual tipo de mime deve ser. Deve estar correto para praticamente todos os arquivos de texto.
Eu gerencio um sistema Apache2 interno, permitindo a navegação HTTP e downloads de um sistema de arquivos conectado. Eu não tenho controle sobre os arquivos, tipos de arquivos ou nomes de arquivos do conteúdo que está sendo carregado pela equipe.
Qualquer coisa que seja possível renderizar no navegador, eu faço. Texto, imagens, xml, etc, tudo funciona bem porque eu atribuo um tipo MIME explícito na diretiva AddType do httpd.conf. Mas parte do conteúdo é gerado programaticamente e não tem uma extensão que eu possa prever, como: file.name.text_1234. Esses arquivos são sempre text / plain, mas não consigo atribuir esse tipo de conteúdo sem adicionar 10 entradas de entradas AddType .text_NNNN para http.conf ou /etc/mime.types. E mesmo se eu fizesse, eu poderia mais tarde encontrar extensões como .text_123456789 ou .text_abc123def456 etc, etc, então entradas explícitas não são práticas.
Existe alguma maneira de atribuir o AddType via curinga ou regex ou até mesmo forçar qualquer coisa que não esteja definida para ser texto tipo de conteúdo / simples?
Eu tentei usar diretivas relacionadas como DefaultType, ForceType, FilesMatch, Files e Location para substituir globalmente ou corresponder a alguma condição que atribuirá esse tipo, mas nada funcionou. Assim eu adiciono:
AddType text/plain .blabla_123456
.. então some.file.name.blabla_123456 renderiza perfeitamente, depois de reiniciar o Apache.
Acho que o módulo mod_mime_magic pode ser o que você está procurando. Ele irá olhar o conteúdo do arquivo e adivinhar qual tipo de mime deve ser. Deve estar correto para praticamente todos os arquivos de texto.
Duas maneiras de obter suporte a expressões regulares - Você pode usar ForceType no LocationMatch ou usar o sinalizador T = em mod_rewrite.
Tags apache-2.2 httpd.conf mime