javascript - Apache Mod 过期了,如何调试?

标签 javascript apache .htaccess caching mod-expires

我的目标:让我的服务器上的 JavaScript 始终从我的服务器中提取,并且不允许缓存。

我的操作系统:Ubuntu

我的方法:(遵循https://www.digitalocean.com/community/tutorials/how-to-configure-apache-content-caching-on-ubuntu-14-04#setting-expires-and-caching-headers-on-content)

  • sudo a2enmod 过期
  • sudo a2enmod header
  • 将以下内容添加到我的(已证明可以正常工作).htaccess 文件中:

    • 过期有效日期 ExpiresByType text/javascript “访问加 1 秒”

我的结果:HTTP header 完全没有变化。用户仍然提示他们的缓存文件已过期。

我的 .htaccess 文件的完整内容是:

    RewriteEngine On
RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000
RewriteCond %{DOCUMENT_ROOT}/maintenance.html -f
RewriteCond %{DOCUMENT_ROOT}/maintenance.enable -f
RewriteCond %{SCRIPT_FILENAME} !maintenance.html
RewriteRule ^.*$ /maintenance.html [R=503,L]
ErrorDocument 503 /maintenance.html
ExpiresActive On
ExpiresByType text/javascript "access plus 1 seconds"
#ExpiresByType  text/js “access plus 1 seconds”

我知道它正在读取 .htaccess 代码,因为我的维护模式代码仍然有效。我进一步知道它正在读取它,因为我一直在与 500 个内部服务器错误作斗争,直到我得到了正确的 ExpiresByTypes 语法。

我该如何开始调试这个问题?

最佳答案

问题中没有显示 HTTP 响应 header ,但 Apache 的默认 mime.types 将 *.js 映射到 application/javascript,而不是您要匹配的 text/javascript。

application/javascript              js

至少,复制 application/javascript 的配置!

关于javascript - Apache Mod 过期了,如何调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44907424/

相关文章:

java - 打开 Excel 时,apache POI createFormulaListConstraint 结果为 "Unreadable content"

apache - 通过 apache 从外部服务器提供内容

.htaccess - 如何从以下 .htaccess 重写规则中排除特定文件类型?

javascript - PHP 和 Javascript 日期问题

javascript - 贪心算法

apache - fatal error : Uncaught exception 'Zend_Cache_Exception' with message > 'cache_dir must be a directory'

php - Apache 重写规则和 POST 数据

javascript - 返回 JSX 的 React 类方法的流注释

javascript - 光标在不同浏览器中文本区域元素末尾的行为

php - 从 Java 执行许多(顺序的)HTTP POST 命令到 PHP 文件时出现服务器异常