0

我的服务器上有一个文件 foo.bar.1,当我尝试从浏览器(firefox)访问它时,我得到一个弹出窗口,上面写着“你选择打开 foo.bar.1 这是一个:1 文件.. . Firefox 应该如何处理这个文件..."。如果我为它创建一个符号链接 foo.dat,我可以正常访问它;内容按我的预期显示在浏览器中。

我的问题是我不想为所有这些文件创建符号链接,我想使用 mod_rewrite 规则,比如

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

但这不像符号链接。它给出了相同的弹出窗口(尽管奇怪的是,它现在显示“您已选择打开 foo.dat 这是一个:DAT 文件......”。

我如何执行重写规则,以使浏览器被欺骗将其视为普通的 .dat 文件,正如符号链接所完成的那样?

4

2 回答 2

2

如果您安装了 mod_mime,那么您可以执行以下操作:

AddType text/plain .1

未经测试,但它应该显示文件而不是下载

有关AddType 文档,请参阅http://httpd.apache.org/docs/2.0/mod/mod_mime.html#addtype

于 2009-05-27T05:10:33.900 回答
1

查看指令的[T]参数RewriteRule

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

当您创建符号链接时,Apache 认为它正在提供.dat文件,而当您使用 mod_rewrite 时,Apache 仍然认为它正在提供.1文件。这出现在提供给浏览器的 Content-type 标头中。

于 2009-05-27T05:12:40.747 回答