Apache Mod 过期,如何调试?

Apache Mod Expires, how to Debug?

我的 objective:让我的服务器上的 javascript 总是从我的服务器中提取,并且不允许缓存。

我的OS:Ubuntu

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

我的结果:HTTP headers 完全没有变化。用户仍然抱怨他们的缓存文件已过时。

我的 .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 响应 headers,但 Apache 的默认 mime.types 将 *.js 映射到 application/javascript 而不是text/javascript 你匹配。

application/javascript              js

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