IE10文件网址问题

时间:2013-06-27 21:08:09

标签: url cross-browser versioning internet-explorer-10

我正在开发一个应该支持IE10的网页。我的用户应该能够下载安装文件(.exe),但我会更新这个文件,以便它有版本。假设文件名是 file.exe ,但文件的链接就像

<url>/file.exe?v1.1.21.0

此处,其他浏览器(Chrome,Firefox,ie8,ie9)可以很好地下载文件,但是将其下载为 file.0 (可能是因为网址中的问号)。下载后,当我将其重命名为 file.exe 时,它可以很好地用作exe文件,但当然我不能指望它来自用户。我也不想从网址中删除版本号,因为它可能会下载缓存中剩余的旧文件等。是否有解决方法,下载具有正确名称的文件?

1 个答案:

答案 0 :(得分:0)

您需要发送包含正确文件名的Content-Disposition标头。

Content-Disposition: attachment; filename=file.exe

如果您正在运行Apache服务器,请查看:https://serverfault.com/questions/101948/how-to-send-content-disposition-headers-in-apache-for-files

<强>更新

以下是.htaccess示例:

SetEnvIf Request_URI "^/(file\.exe)$" FILENAME=$1
Header set "Content-disposition" "attachment; filename=%{FILENAME}e" env=FILENAME
UnsetEnv FILENAME

只有在请求URI为Content-Disposition时才会添加/file.exe标头(根据您的需要更改),因此可以安全地添加它,以防目录中有其他文件不应该不会受到影响。