У меня установлена MediaWiki, и я оптимизировал различные аспекты, используя инструмент Google PageSpeed в качестве руководства, и до сих пор мне удалось внести множество улучшений.
Одно я не еще может установить заголовок Expires с использованием моего файла .htaccess для следующего ресурса:
http://example.com/mywiki/load.php?debug=false&lang=en-gb&modules=startup&only=scripts&skin=vector&*
У него нет обычного расширения файла, такого как .css или .js.
Жестяная банка Я установил заголовки Expires в моем файле .htaccess для таких файлов?
Короткий ответ: вероятно, не рекомендуется устанавливать заголовок Expire для этих ресурсов.
Пояснение:
Вам нужно больше узнать об основах формата URL и его разделителей. ://
, @
, :
, ?
и #
:
scheme://[user:password@]domain:port/path?query_string#fragment_id
В вашем URL:
http
example.com
80
/mywiki/load.php
debug=false&lang=en-gb&modules=startup&only=scripts&skin=vector&*
Основная проблема здесь в том, что вы смешиваете путь и строку запроса друг с другом. Местоположение вашего файла /mywiki/load.php
и у него обычное расширение файла, .php
. Строка запроса в этой части отправляет данные для этого PHP-скрипта для обработки пар: имя / значение, разделенных амперсандами.
Теперь, когда мы знаем, что имеем дело с PHP-скриптом, мы должны понимать, что Apache теперь предоставляет динамический контент: контент, который меняется. Как правило, не рекомендуется устанавливать контроль кеширования для такого рода содержимого. Если мы захотим, это возможно. Мы могли бы установить его по расширению файла в .htaccess
или сам скрипт PHP также может устанавливать заголовки кеша, например
header("Expires: " . gmdate("D, d M Y H:i:s", time() + 3600) . " GMT");
Это было бы вариантом, если сценарий PHP предоставляет изображения, загрузки или другой статический контент. Однако, поскольку вы просто используете программное обеспечение PHP, а не разрабатываете его, вы должны думать, что программисты уже подумали об этом. Он также изменится обратно после обновлений. Следовательно, вы, вероятно, закончили с элементом управления кешем, когда вы установили заголовки для статического содержимого.