【问题标题】:Download a file with a parameter in URL下载带有 URL 参数的文件
【发布时间】:2017-08-21 09:15:56
【问题描述】:

我注意到在 Apache 服务器上下载文件:

example.com/myfile.zip?parameter=2365

在客户端浏览器上提供与下载完全相同的结果/相同的下载文件/相同的下载文件名:

example.com/myfile.zip

它是 Apache 支持和记录的功能吗?

我对此很满意,这对于跟踪目的很有用(我可以发送带有参数?source=email 的下载链接,然后我将能够在 Apache 日志中看到该参数,这很有用!),但我希望确保它适用于所有浏览器(Chrome、Firefox、IE、Safari 等)

注意:我们确定在大多数浏览器上,下载的文件的文件名是 myfile.zip 而不是 myfile.zip<somechar>parameter=2365?我试过wget example.com/myfile.zip?parameter=2365,不幸的是磁盘上的文件名是myfile.zip?parameter=2365,所以它不适用于wget

【问题讨论】:

    标签: apache url download


    【解决方案1】:

    这是一个query string,如果没有配置任何分析参数,那么服务器将只返回文件。

    如您所见,Apache 日志将包含此信息(如果配置为)。使用该语法非常安全,它被定义为URI specification 的一部分。

    【讨论】:

    • 谢谢。我们应该在 Apache conf 文件中设置什么配置选项才能在日志中看到这些 ?parameter=1234
    • 请为此提出一个新问题,这不是您最初提出的问题。 apache documentation 提供了大量有关如何执行此操作的信息
    • 好的。我认为它只会在这个答案中添加 1 或 2 行。
    • 您认为在大多数浏览器上下载的文件将具有此文件名myfile.zip 而不是myfile.zip<somechar>parameter=2365 确定@arco444? (Chrome、FF等甚至wget
    • 取决于你如何下载它。如果要强制使用文件名,请设置 Content-Disposition 标头。但是,您将无法控制正在下载的任何内容,它将尊重该值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    • 2012-12-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多