Ответ 1
Используя phpinfo()
, я решил, что переменная окружения не будет вообще настроена на перезаписанный запрос, поэтому проблема не в порядке запроса, это значит, что она вытесняет переменную. Использование строки запроса вместо URL-адреса, а не перезаписи, казалось, было единственным способом, которым я мог бы работать. Я согласен, кажется, что должен быть лучший способ.
RewriteCond %{QUERY_STRING} longcache=true(&|$)
RewriteRule .* - [ENV=LONGCACHE:true,L]
Header set Cache-Control "max-age=30" env=!LONGCACHE
Header set Cache-Control "max-age=31536000" env=LONGCACHE
БОЛЬШЕ РАЗЛИЧНОГО ОТВЕТА, ПОЛУЧЕННОГО ОТКРЫВАЮЩИМИ ГЛАЗАМИ:
Ваша переменная окружения asset
получает переименование в REDIRECT_asset
после перенаправления, поэтому ваша условная директива заголовка должна быть:
Header set Cache-Control "max-age=31536000" env=REDIRECT_asset