【发布时间】:2014-05-15 00:10:06
【问题描述】:
我需要在网页上提供一个按钮,该按钮可以选择下载图像文件并将其存储在客户端的文件系统中。我想使用Force a file or image to download using .htaccess的方法 并写在我的.htaccess中,遵循the Apache documentation的风格,
<If "%{QUERY_STRING} =~ /download/">
Header set Content-Disposition attachment
</If>
然后我提供了一个类似http://www.example.com/images/image123.jpeg?download=true 的链接,该链接适用于我的生产服务器。但它给了我一个error 500 在我办公桌上的Mac 开发系统上,使用OS/X 的apache 或MAMP。 Apache 抱怨它不理解 <If> 声明,而 serverFault 告诉我 Apache 2.2 不理解。 OS/X 和 MAMP 都提供 Apache 2.2。
请问有什么方法可以重写<if> 语句以在 Apache 2.2 中产生相同的效果吗?
我不能只使用
<a download="clientFileName.jpg" href="/images/image123.jpeg">Download</a>
因为它在 IE11 或 Safari 中都不起作用。
【问题讨论】:
-
使用服务器端编程语言。喜欢 PHP
-
我最初成功地使用 PHP 提供了这个,但现在图像大小达到数百兆字节。 PHP 进程因运行时间过长而被托管服务强制终止。我无法延长允许的运行时间。
标签: regex apache .htaccess mod-rewrite