• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 699
  • Last Modified:

Redirect all website traffic to https - cPanel or .htaccess

G'day guys,

I've searched for my particular query but everyone had different focus'.

What I have:

cPanel shared hosting, with legitimate SSL Certificate

What I need:

All traffic hitting http://techcare.net.au and http://www.techcare.net.au to be redirected to https://www.techcare.net.au 

I need this to happen at every stage of the journey. For example I host my own support ticket system in a sub folder https://www.techcare.net.au/support/

It needs to redirect any query to www.techcare.net.au/support or to the admin page www.techcare.net.au/support/scp to secure traffic - https://www.techcare.net.au/support or https://www.techcare.net.au/support/scp

Anyone know how to do this?

regards,
Steve
0
sjswarts
Asked:
sjswarts
1 Solution
 
Dave BaldwinFixer of ProblemsCommented:
I think this is what you want.  Put it in an '.htaccess' file in your web root.
From http://wiki.apache.org/httpd/RewriteHTTPToHTTPS
RewriteEngine On
# This will enable the Rewrite capabilities

RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS

RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
# This rule will redirect users from their original location, to the same location but using HTTPS.
# i.e.  http://www.example.com/foo/ to https://www.example.com/foo/
# The leading slash is made optional so that this will work either in httpd.conf
# or .htaccess context

Open in new window

0
 
Scott Fell, EE MVEDeveloper & EE ModeratorCommented:
0
 
hankknightCommented:
Try this code in your .htaccess file:
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Open in new window

0
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

 
sjswartsAuthor Commented:
Is that a replacement to what Dave Baldwin gave?

Do I put that in the public_html/.htaccess or do I have to put it in every .htaccess that is on my hosting?
0
 
Dave BaldwinFixer of ProblemsCommented:
Both versions are almost identical.  The one I posted had some helpful text along with the rules.  You only need to put it in the top level .htaccess for that site.  All requests for any pages on that site will use the rules in the top level .htaccess.
0
 
sjswartsAuthor Commented:
Thank you for the clarification Dave.

Just one more thing however.

How do I force the use of www ?? So if someone goes to http://techcare.net.au it rightly redirects to https://techcare.net.au now, but how do I force it to actually go to https://www.techcare.net.au

cheers,
Steve

P.S. I do prefer the helpful text, cleared it up a lot.
0
 
Dave BaldwinFixer of ProblemsCommented:
Try this, this is what worked on one of my sites.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.
RewriteRule ^ https://www.techcare.net.au%{REQUEST_URI} [L,R=301]

Open in new window

0
 
sjswartsAuthor Commented:
Brilliant Dave, absolutely brilliant.

Works like a charm so far, thank you very much.

RewriteEngine On
# This will enable the Rewrite capabilities

RewriteCond %{HTTPS} !=on
# This checks to make sure the connection is not already HTTPS

RewriteCond %{HTTP_HOST} !^www\.
# This prepends www to any direct entry

RewriteRule ^ https://www.techcare.net.au%{REQUEST_URI} [L,R=301]
# This rule will redirect users from their original location, to the same location but using HTTPS.
# i.e.  http://www.example.com/foo/ to https://www.example.com/foo/
# The leading slash is made optional so that this will work either in httpd.conf
# or .htaccess context

Open in new window


that's the total package
0
 
sjswartsAuthor Commented:
Exactly what I was looking for
0
 
Dave BaldwinFixer of ProblemsCommented:
You're welcome, glad to help.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Get your problem seen by more experts

Be seen. Boost your question’s priority for more expert views and faster solutions

Tackle projects and never again get stuck behind a technical roadblock.
Join Now