Jump to content

Redirecting everything to https://www.?


Christophe
 Share

Recommended Posts

@rick I'm talking about 2 different websites that have nothing in common.

For each website, the 4 variations of the url point to the same (common) content.

I normally can't use sites-available/sites-enabled (only on my local computer(s). Ex-Ubuntu and current Linux Mint Mate user).

@szabesz I'll use it eventually and see if it works for me.
Edit: it doesn't work (at least for the domain I'm currently working on). https://www.domain.tld is redirected to http://domain.tld.

@SiNNuT I think I have it bookmarked and perhaps also downloaded it somewhere.

Edit 2: now that I want to use the non-www version, I have to find a way to change the code I was using so that it works...

So much time wasted for things that should be easier to do.

Edit 3: there seems to be a difference, related to shared cookies, between the www and non-www choices.

Edit 4: I'll eventually try again later with other domains. It's not worth it now.

  • Like 1
Link to comment
Share on other sites

3 hours ago, Christophe said:

@szabesz I'll use it eventually and see if it works for me.
Edit: it doesn't work (at least for the domain I'm currently working on). https://www.domain.tld is redirected to http://domain.tld.

Did you also uncomment this one?

# -----------------------------------------------------------------------------------------------
 # 9. If you only want to allow HTTPS, uncomment the RewriteCond and RewriteRule lines below.
 # -----------------------------------------------------------------------------------------------
 # RewriteCond %{HTTPS} off
 # RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

 

Link to comment
Share on other sites

9 hours ago, szabesz said:

# -----------------------------------------------------------------------------------------------  # 9. If you only want to allow HTTPS, uncomment the RewriteCond and RewriteRule lines below.  # -----------------------------------------------------------------------------------------------  # RewriteCond %{HTTPS} off  # RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

@szabesz Of course I tried also with this. Too many redirects error message.

This doesn't work for me (at least while testing it with one of the websites). For exemple, http://www is not even redirected to http://

I'm not going to spend more time with this now. Later eventually.

I'd like a debugger to exist for this. Perhaps using a security/penetration testing framework(?).

Thanks everyone.

  • Like 1
Link to comment
Share on other sites

You can alway see the headers (and thus your redirects) by using

curl -vL http://your.domain/

at the command line (if you have cURL installed).

At the same time you can check the server logs (access log) and you will see what site is being accessed.

 

  • Like 1
Link to comment
Share on other sites

First solution for the website at ovh (registar and website hoster). Found this again (and that I had bookmarked it already):
https://docs.ovh.com/fr/fr/web/hosting/htaccess-reecriture-url-mod-rewrite/

If not wrong, using this

RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domainname.tld/$1 [R=301,L]

Then this

RewriteCond %{HTTP_HOST} ^domainname.tld$
RewriteRule ^(.*) http://www.domainname.tld/$1 [QSA,L,R=301]

I only have a 2 redirect message with PageSpeed Insights - if testing https://domainname.tld

If I use this instead

RewriteCond %{HTTP_HOST} ^domainname.tld$
RewriteRule ^(.*) https://www.domainname.tld/$1 [QSA,L,R=301]

I don't have redirect error messages anymore (4 combinations/variations).

I'll (re)check again to see if it was real.

And I'll test later if I can easily transform it to use the non-www version. But I'm not sure if I really want the non-www version or not.

I'll precise R=301 where there is only R.

It's very easy to invert from www to non-www. Apparently no redirect error messages either.
So it's ok now for this one website. I would just have to choose between www and non-www.

http://www.yes-www.org/
http://www.yes-www.org/why-use-www/ (technical reasons)

  • Like 1
Link to comment
Share on other sites

Just choose one and stick with it. While you ponder and tinker, use 302. Once you're sure and live, use 301. After a while everything will automatically point to the canonical URL as this is the one that gets distributed and listed in $search_engine. 

Link to comment
Share on other sites

Also resolved it for the other hoster.

Same, but with RewriteCond %{HTTP:X-Forwarded-Proto} !https added. So

RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domainname.tld/$1 [R=301,L]

And

RewriteCond %{HTTP_HOST} ^domainname.tld$
RewriteRule ^(.*) https://www.domainname.tld/$1 [QSA,L,R=301]

NB: the redirection from https:// to https://www seems to work better when keeping RewriteCond %{SERVER_PORT} 80 after adding RewriteCond %{HTTP:X-Forwarded-Proto} !https
Tested several times, with the cache cleared. Perhaps a coincidence, or not...
I was just curious to see what would happen if I removed it.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...