Я пытаюсь установить заголовок управления кешем, когда браузер запрашивает следующий URL-адрес:
www.example.com/php/getData.php?exampleField=exampleValue
Как будто даже если getData.php является динамической страницей, когда параметр exampleField
равно exampleValue
ответ не меняется. Следовательно, у браузера нет причин не кэшировать этот результат. Мой вопрос: как мне написать FilesMatch
правило в файле .htaccess, чтобы соответствовать этому, я безуспешно пробовал следующее:
<FilesMatch "php/getData.php\?exampleField=(exampleValue1|exampleValue2)$">
Header set Cache-Control "max-age=3024000, must-revalidate"
</FilesMatch>
Параметры GET не являются частью имени файла, поэтому <FilesMatch>
не будет соответствовать им.
Учитывая, что вы обслуживаете файл PHP, рассматривали ли вы возможность просто добавить туда заголовок управления кешем?
<?php
/* ... */
if (
@isset( $_GET['exampleField'] ) &&
$_GET['exampleField'] == 'exampleValue'
) {
header('Cache-Control "max-age=3024000, must-revalidate"');
}
/* ... */
?>