Solved

Redirect all website traffic to https - cPanel or .htaccess

Posted on 2014-01-21
10
607 Views
Last Modified: 2014-01-22
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
Comment
Question by:sjswarts
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39799095
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
 
LVL 52

Expert Comment

by:Scott Fell, EE MVE
ID: 39799344
0
 
LVL 16

Expert Comment

by:hankknight
ID: 39799997
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
Guide to Performance: Optimization & Monitoring

Nowadays, monitoring is a mixture of tools, systems, and codes—making it a very complex process. And with this complexity, comes variables for failure. Get DZone’s new Guide to Performance to learn how to proactively find these variables and solve them before a disruption occurs.

 

Author Comment

by:sjswarts
ID: 39801881
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
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39801945
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
 

Author Comment

by:sjswarts
ID: 39801955
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
 
LVL 83

Accepted Solution

by:
Dave Baldwin earned 500 total points
ID: 39802188
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
 

Author Comment

by:sjswarts
ID: 39802259
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
 

Author Closing Comment

by:sjswarts
ID: 39802260
Exactly what I was looking for
0
 
LVL 83

Expert Comment

by:Dave Baldwin
ID: 39802263
You're welcome, glad to help.
0

Featured Post

NEW Veeam Agent for Microsoft Windows

Backup and recover physical and cloud-based servers and workstations, as well as endpoint devices that belong to remote users. Avoid downtime and data loss quickly and easily for Windows-based physical or public cloud-based workloads!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Article by: kevp75
Hey folks, 'bout time for me to come around with a little tip. Thanks to IIS 7.5 Extensions and Microsoft (well... really Windows 8, and IIS 8 I guess...), we can now prime our Application Pools, when IIS starts. Now, though it would be nice t…
Periodically we have to update or add SSL certificates for customers. Depending upon your hosting plan you may be responsible for the installation and/or key generation. In the wake of Heartbleed many sites were forced to re-key. We will concen…
Attackers love to prey on accounts that have privileges. Reducing privileged accounts and protecting privileged accounts therefore is paramount. Users, groups, and service accounts need to be protected to help protect the entire Active Directory …

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question