Redirect Chain Issue
-
I keep running into a redirect chain issue trying to get a non-https/non-www domain to forward directly to the https/www domain on an Apache server. For background, we are forcing https and forcing www, but it appears the non-https/non-www domain is first redirecting to https/non-www and then redirecting again to the desired final https/www version of the domain. (Hope I am making sense here)
I am trying to find code to add to my .htaccess file that will perform the following...
301 Redirect
http://example.com directly to https://www.example.com (without 1st redirecting to https://example.com)
http://www.example.com directly to https://www.example.comAny experts in this with any thoughts?
Thanks,
Fitz -
There is rewrite code to do that in one "hop". But the best practice for this has changed from what the pagespeed tools recommend, Fitz. You should actually leave the redirect as is, and insure you have HSTS properly implemented for the website. For HSTS to work properly/securely, the site must redirect to the HTTPS version of the same hostname before then redirecting to the canonical hostname. Which is exactly what your site is doing.
The only disadvantage to the extra hop is that there's a very small delay for an additional server calll, but the implementation of HSTS eliminates a server call and some certificate negotiation time. So breaks about even or even a little quicker, especially if you submit to the Preload list once you're certain HSTS is working correctly. Note that HSTS should be implemented using a very short TTL initially so you can be sure things are working correctly before switching to a long TTL and the preload list.
Do you already have HSTS configured for the site??
Paul
-
Hi,
I was wondering exactly the same thing as above - in MOZ it classes this as a redirect chain.
Is this an issue that it picks up that isn't really a problem?
we are using:
RewriteRule (.) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteCond %{HTTP_HOST} !^www.MYSITE.co.uk [NC]
RewriteCond %{HTTP_HOST} !^$
RewriteRule ^(.) https://www.MYSITE.co.uk/$1 [L,R=301]