É possível que o módulo Subversion Apache sirva arquivos html com um tipo de conteúdo html sem usar a propriedade svn: mime-type?

4

Estou ciente de que, se você definir a propriedade svn:mime-type Subversion em um arquivo .html como text/html , ao visualizar o arquivo em um navegador através do módulo Subversion no Apache httpd, ele será exibido com Content-Type: text/html cabeçalho, permitindo que o navegador o renderize como HTML em vez de texto simples.

No entanto, estou procurando uma maneira de fazer isso sem usando a propriedade svn:mime-type .

Estou ciente de que você pode configurar seu cliente svn para adicionar automaticamente a propriedade - isso não é o que eu quero, pois não quero garantir que todos os usuários tenham essas configurações. Também estou ciente de que eu poderia criar um gancho de pré-consolidação que rejeita a confirmação se as propriedades não estiverem definidas, para forçar os usuários a definir a propriedade - posso voltar a isso, mas estou procurando algo menos intrusivo.

Eu também estou ciente de que eu poderia usar um gancho post-commit para adicionar as propriedades automaticamente no lado do servidor. Eu prefiro não fazer isso (como os usuários precisam atualizar imediatamente após o commit, e não é trivial para escrever) - Eu estou procurando uma alternativa melhor. Talvez algo com regras de reescrita no servidor Apache?

    
por Martin Pain 23.11.2012 / 11:36

2 respostas

3

Resposta curta - sim - defina ModMimeUsePathInfo como on para tornar o Apache responsável pelos tipos MIME.

Resposta mais longa - sim, mas você precisa estar usando uma versão relativamente moderna do Subversion dentro do seu servidor Apache.

Normalmente, o conteúdo está sendo servido pelo módulo mod_dav_svn que está interrogando o repositório Subversion, portanto, o tipo mime seria especificado pelo módulo Subversion.

Historicamente, isso só podia ser configurado usando a propriedade svn: mime-type. Veja este tópico na lista de discussão do Subversion para um exemplo de alguém tentando realizar algo semelhante.

Agora, o uso da diretiva ModMimeUsePathInfo dirá ao Apache para descobrir qual tipo MIME especificar usando mod_mime - consulte Apêndice C, WebDAV e Autoversionamento do livro do Subversion para mais informações.

Especificamente algo como:

<Location /repos>
    DAV svn
    SVNPath /var/svn/repository
    SVNAutoversioning on

    ModMimeUsePathInfo on
</Location>
    
por 03.12.2012 / 12:59
1

O mod_mime do Apache determinará o tipo de conteúdo se nenhuma propriedade svn:mime-type estiver definida. Ative-o na configuração do Apache:

LoadModule mime_module modules/mod_mime.so

O tipo MIME de arquivos com extensão .html é text/html na configuração padrão. Testado com o Apache 2.4.10 e o Subversion 1.8.11.

    
por 21.05.2015 / 11:30