I have a website that because of an ill-prepared apache conf file has instructed users to cache a website URL several years into the future. As a result, when a person visit
There are several options to achieve this First In the section add meta tag:
<meta http-equiv="pragma" content="no-cache" />
Basically the browser won't cache the page.
Another option is to set sessions, this will force the browser to a new session each time they go, and thus make the browser get the page from the server instead of the cache
<?php
session_start();
$_SESSION = array();
session_destroy();
?>
You can add this to your website for a couple of days and then remove. I really don't know if it will do, but perhaps you will find it useful
I realize this question is very old, but I have a viable answer:
Of course you can force new URL's to avoid common caches (not long term ones)...
I.e.
However in a scenario like this (formerly edited apache .conf for long time caching) since you cannot change the domain for SEO purposes, there is a 'crude hack' you can use which will minimize the impact to SEO:
Copy your index page (i.e. index.php) to a new page (i.e. index_new.php) and edit httpd.conf (or equivalent) so that the DirectoryIndex is the new page. Then just delete or move your old page, it should theoretically always redirect to the new page.
I.e. in Debian/Ubuntu:
cd /var/www
cp index.php index_new.php
sudo vim /etc/apache2/sites-enabled/000-default
<Directory /var/www/>
...
DirectoryIndex index_new.php
</Directory>
mv index.php index_old.php
sudo service apache2 restart
And there you go.
change URLs of every resource