oznomal
oznomal

Reputation: 449

HTTP to HTTPS redirect not working with .htaccess

I am trying to force my website to redirect http traffic to the https site and I have verified that the htaccess file is getting accessed but the redirect is not occurring. I have a valid cert for the site and the https version works fine but whether I type in www.mywebsite.com or http://www.mywebsite.com or website.com I still get taken to the HTTP version. Any suggestions?

.htaccess file

# Use PHP56
AddHandler application/x-httpd-php56 .php

# Always Redirect to HTTPS
RewriteEngine On
RewriteCond %{SERVER_PORT} !=443
RewriteCond %{HTTP_HOST} ^(www\.)?mywebsite\.com$ [NC]
RewriteRule ^$ https://mywebsite.com%{REQUEST_URI} [R=301,L]

Upvotes: 7

Views: 17628

Answers (2)

Said Erraoudy
Said Erraoudy

Reputation: 1569

I have solved this problem by adding this code snippet, make sure it is at the beginning of the file .htaccess:

# Force HTTPS on all pages
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
</IfModule>

Upvotes: 3

Luay
Luay

Reputation: 814

I use this on my website and it redirects to HTTPS and not HTTP. There is also a great explanation here: Best Practice: 301 Redirect HTTP to HTTPS (Standard Domain)

RewriteEngine On

RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Upvotes: 7

Related Questions