Pergunta

Eu tenho um foo.bar.1 arquivo no meu servidor e quando tento acessá-lo a partir de um navegador (Firefox) recebo um pop-up que diz "Você escolheu foo.bar.1 aberta que é um: 1 arquivo ... O que deve Firefox fazer com este arquivo ... ". Se eu criar um link simbólico para ele, foo.dat, eu posso acessá-lo muito bem; o conteúdo exibido no navegador como eu esperava.

O meu problema é que eu não quero criar links simbólicos para todos esses arquivos, eu quero usar uma regra mod_rewrite, como

RewriteRule ^([^/]+)\.dat$ $1.bar.1

Mas isso não age como a ligação simbólica. Ele dá o mesmo pop-up (embora, estranhamente, ele agora diz: "Você escolheu foo.dat aberta que é um: arquivo DAT ...".

Como posso fazer a regra de reescrita de forma que o navegador é levado a tratá-la como um arquivo .dat normal, como é realizado pelo link simbólico?

Foi útil?

Solução

Se você mod_mime instalado, então você pode fazer:

AddType text/plain .1

Não testado, mas deve exibir o arquivo em vez de baixar

http://httpd.apache.org/docs/ 2.0 / mod / mod_mime.html # AddType para documentação AddType

Outras dicas

olhar para o argumento [T] à directiva RewriteRule:

http://httpd.apache.org/docs/2.2 /mod/mod_rewrite.html#rewriterule

Quando você faz a ligação simbólica, Apache pensa que está servindo um arquivo .dat, enquanto que quando você usa mod_rewrite, Apache ainda pensa que está servindo um arquivo .1. Este aparece no cabeçalho do tipo de conteúdo servido para o navegador.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top