如何让我的Apache 2服务器强制浏览器打开文件传输对话框?

10 apache2 mime-types

如果URL指向扩展名为.pln或.psa的文件,如何让我的Apache 2服务器强制浏览器打开文件传输对话框?

我有一个简单的LAMP服务器,包括CentOS 5,Apache 2,MYSQL 5,PHP 5,最近构建的CentOS 5.2 i386安装CD.我的Web应用程序生成要下载的文件并导入到自定义应用程序中.文件扩展名为.psa和.pln.如何让我的服务器强制浏览器打开文件传输对话框?如果我将浏览器指向Apache 2服务器上的.psa或.pln文件,则文件的内容将作为简单文本显示在弹出窗口中.我想要一个文件传输对话.

我正在处理的Web应用程序部署在另一个Web服务器上,并根据需要处理.pln和.psa文件.我无法比较服务器配置文件,因为我没有对工作服务器的管理员访问权限.

如何更改服务器的行为?这是否需要更改我的网络应用程序代码(例如发送显式标头)?如果是这样,为什么它对其他服务器起作用?通过配置服务器的默认行为可以避免代码更改吗?

任何帮助,将不胜感激.

pal*_*rse 6

您应该能够使用FilesMatch指令添加必要的标头.

<FilesMatch "\.(?i:pin)$">
  Header set Content-Disposition attachment
</FilesMatch>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢.在我的/etc/httpd/conf/httpd.conf文件中添加以下内容修复了问题.<FilesMatch"\.(pln | psa)$"> ForceType应用程序/未知标题集内容 - 处置附件</ FilesMatch>我必须清除浏览器的(IE7)临时Internet文件才能使更改生效. (2认同)