我的目标:让我的服务器上的 JavaScript 始终从我的服务器中提取,并且不允许缓存。
我的操作系统:Ubuntu
- 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/