简体   繁体   中英

Use .htaccess to force caching differently on specific page (index.php)

Currently I am using .htaccess to force cacheing across my website with the standard

FileETag MTime Size
ExpiresActive on
ExpiresDefault "access plus 86400 seconds"

But the content on my front page (just my domain.com) changes a lot more frequently, and I would like to either remove forced caching or set it to just a few minutes specifically for that page. I have almost no knowledge of .htaccess coding, so any help is greatly appreciated. Thanks.

Use a Files section like this:

<Files index.php>
  ExpiresDefault "access plus 300 seconds"
</Files>

If you have access to the server configuration, you can also check out Location to match specific locations (ie, match according to the URL instead of the final filename), but that one can't be used inside .htaccess

Use php's header function to remove/add headers just on your home page.

<?php
$expires = 60*60*5;
header_remove('ETag');
header("Pragma: cache");
header("Cache-Control: max-age=".$expires.", public");
header('Expires: ' . gmdate('D, d M Y H:i:s', time()+$expires) . ' GMT');
?>

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM