Mobile app version of vmapp.org
Login or Join
Odierno851

: How to do a cacheable redirection? When users enter my website example.com, their "preferred" language is detected and they are redirected (using a 301 Moved Permanently redirection) to example.com/en/

@Odierno851

Posted in: #301Redirect #302Redirect #Cache #Php #Redirects

When users enter my website example.com, their "preferred" language is detected and they are redirected (using a 301 Moved Permanently redirection) to example.com/en/ (for English), example.com/it/ (for Italian), etc.

It works perfectly, but when I analyzed my website with the Google Page Speed tool it gave me the following advice.


Many pages, especially mobile pages, redirect users to a different URL, for instance from example.com to m.example.com. Making this redirect cache-able by the user's browser can speed up page load times for repeat visitors to a site.


And later it says


We recommend using a 302 redirect with a cache lifetime of one day. The redirect should include a Vary: User-Agent header as well as a Cache-Control: private header.


So my questions are, how can I do a "cache-able" redirection in PHP? Would the following be enough?

header("HTTP/1.0 302 Moved Temporarily");
header("Location: example.com/whatever");
exit;

10.01% popularity Vote Up Vote Down


Login to follow query

More posts by @Odierno851

1 Comments

Sorted by latest first Latest Oldest Best

 

@Rambettina238

This should do the trick:

header("HTTP/1.0 302 Moved Temporarily");
header("Location: example.com/whatever");
header("Cache-Control: private");
header("Vary: User-Agent, Accept-Encoding");
exit;


The recommendation for the Vary header is from this google developer page about optimizing caches (and problems with some IE < 9). Background on caching negotiated responses from RFC2616 (Header Field Definitions) where you will also find background on the Cache-control-private. A further discussion about the Vary: Header also amongst others on this stackoverflow page.

You might also find useful: Multi-regional and multilingual sites and working with multilingual websites.

10% popularity Vote Up Vote Down


Back to top | Use Dark Theme