Назад | Перейти на главную страницу

ExpiresByType «доступ плюс 1 месяц» приводит к истечении 1 года заголовок

Я реализовал истечение срока действия ресурса со следующей настройкой

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType image/jpg "access plus 1 year"
    ExpiresByType image/jpeg "access plus 1 year"
    ExpiresByType image/gif "access plus 1 year"
    ExpiresByType image/png "access plus 1 year"
    ExpiresByType text/css "access plus 1 month"
    ExpiresByType application/pdf "access plus 1 month"
    ExpiresByType application/x-javascript "access plus 1 month"
    ExpiresByType text/javascript "access plus 1 month"
    ExpiresByType application/x-shockwave-flash "access plus 1 month"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresDefault "access plus 2 days"
</IfModule>

с истечением срока действия a2dismod, как и ожидалось, у меня нет заголовка Expires:

    wget --server-response --no-check-certificate https://sandbox.trinityp3.com/wp-includes/js/jquery/jquery.js?ver=1.12.4
--2018-10-17 07:57:09--  https://sandbox.trinityp3.com/wp-includes/js/jquery/jquery.js?ver=1.12.4
Resolving sandbox.trinityp3.com (sandbox.trinityp3.com)... 52.77.97.226
Connecting to sandbox.trinityp3.com (sandbox.trinityp3.com)|52.77.97.226|:443... connected.
WARNING: cannot verify sandbox.trinityp3.com's certificate, issued by ‘emailAddress=mark@xxx.xxx,CN=sandbox.trinityp3.com,O=Internet Widgits Pty Ltd,ST=Some-State,C=AU’:
  Self-signed certificate encountered.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Date: Tue, 16 Oct 2018 18:57:10 GMT
  Server: Apache/2.4.10 (Ubuntu)
  Last-Modified: Tue, 06 Sep 2016 02:32:13 GMT
  Accept-Ranges: bytes
  Content-Length: 97184
  Vary: Accept-Encoding
  Access-Control-Allow-Origin: *
  Referrer-Policy: 
  Cache-Control: max-age=604800, public
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: application/x-javascript

с a2enmod истекает, но я получаю ответ истекает через 1 год

  wget --server-response --no-check-certificate https://sandbox.trinityp3.com/wp-includes/js/jquery/jquery.js?ver=1.12.4
--2018-10-17 08:01:26--  https://sandbox.trinityp3.com/wp-includes/js/jquery/jquery.js?ver=1.12.4
Resolving sandbox.trinityp3.com (sandbox.trinityp3.com)... 52.77.97.226
Connecting to sandbox.trinityp3.com (sandbox.trinityp3.com)|52.77.97.226|:443... connected.
WARNING: cannot verify sandbox.trinityp3.com's certificate, issued by ‘emailAddress=mark@xxx.xxx,CN=sandbox.trinityp3.com,O=Internet Widgits Pty Ltd,ST=Some-State,C=AU’:
  Self-signed certificate encountered.
HTTP request sent, awaiting response... 
  HTTP/1.1 200 OK
  Date: Tue, 16 Oct 2018 19:01:27 GMT
  Server: Apache/2.4.10 (Ubuntu)
  Last-Modified: Tue, 06 Sep 2016 02:32:13 GMT
  Accept-Ranges: bytes
  Content-Length: 97184
  Vary: Accept-Encoding
  Cache-Control: max-age=604800, public
  Expires: Wed, 16 Oct 2019 19:01:27 GMT
  Access-Control-Allow-Origin: *
  Referrer-Policy: 
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: application/x-javascript

Я также запустил grep, чтобы найти любые другие инструкции истечения срока действия, но их нет.

После добавления приложения ExpiresByType / x-javascript проблема все еще сохраняется. Мог ли быть конфликт с deflate?

ubuntu@sandbox:/etc/apache2$ grep -r application/x-javascript *
mods-available/deflate.conf:        AddOutputFilterByType DEFLATE     application/x-javascript application/javascript application/ecmascript
sites-available/710-tp3-au-www-sandbox.conf:    ExpiresByType     application/x-javascript "access plus 1 month"
sites-available/710-tp3-au-www-sandbox.conf:    ExpiresByType     application/x-javascript "access plus 1 month"

У тебя нет ExpiresByType правило для application/x-javascript Content-Type ваш .js файл обслуживается как.