gpt4 book ai didi

apache - 禁用缓存链接问题

转载 作者:行者123 更新时间:2023-12-02 15:37:22 24 4
gpt4 key购买 nike

我有一个下载文件(.pdf、.rar、.jpg 等)的网站。我的服务器有一个大问题,我认为它与 apache 有关:

例如,我链接到 12.pdf 以供下载:

<a href="12.pdf">book</a>

它工作正常但问题:我用另一个同名文件更改了 12.pdf。下载新的 12.pdf 时,会下载以前的文件。即使我从服务器上删除 12.pdf 并在我的页面中按 Ctrl+F5,当单击上面的链接时,12.pdf 开始下载并完成文件下载!服务器上不存在名称为 12.pdf 的文件。什么是问题? apache 是否缓存我的链接?如何解决这个问题?我的服务器操作系统是 CentOS。

最佳答案

某些解决方案(排名不分先后)可能会有所帮助。

  1. 创建哈希:

    A better approach is to modify the file path (or name) by introducing a hash which will change when the file is modified; then in the apache configuration you can strip that value to get the right file path (or name). See here: https://developers.google.com/speed/docs/best-practices/caching?hl=es-419#LeverageBrowserCaching

    通过http://www.immense.net/force-update-cached-files-images-favicon/#comment-18489

  2. 服务器 header 。也可以根据响应 header 在服务器端控制缓存。

    For example, to force the file to be cached for no longer than 1 day, you would send:

    Cache-Control: max-age=86400, must-revalidate 

    For beta, if you want to force the user to always get the latest, you would use:

    Cache-Control: no-cache, must-revalidate

    通过https://stackoverflow.com/a/84846/1085891

  3. 使用 GET多变的。添加版本号或任何值,这将强制浏览器提取最新文件。示例:

    <a href="12.pdf?ver=1.1">book</a>

    许多人不建议将此技术用于在某些时候可能需要缓存的任何文件(CSS、JavaScript 等)。

  4. <FilesMatch> directive

    Include the .htaccess lines in a <FilesMatch> directive. For example, these lines will prevent caching of filenames ending in ".htm" or ".html", while allowing normal caching of JPEG files:

    <FilesMatch "\.(htm|html)$">
    ExpiresActive On
    ExpiresDefault A1
    Header append Cache-Control must-revalidate
    </FilesMatch>

    通过http://support.tigertech.net/prevent-caching

资源

关于apache - 禁用缓存链接问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14869187/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com