Before I give you the CODE, let me explain a few points: **Point 1:** It's better if you only allow `https` links. Mixing `http` & `https` for the same content ***[breaks the security][1]*** added by `https`. With `http`, you can never be sure that your visitors are shown the same page you are providing from your server. **Point 2:** Search engines consider `http` & `https` sites to be different sites, even when the domain is the same. So if not set up properly, you may get duplicate penalty. So it's recommended to go `https` all the way for better ***SEO*** as well. **Point 3:** Even with proper `.htaccess` CODE, you may get the same error if SSL is not set up properly. So after you change the `.htaccess` CODE, it's better to test your SSL setup against standards. You may use tool such as [this][2]. #Recommended CODE: Based on the points above, following is the CODE you may use: <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTPS} =off [OR] RewriteCond %{HTTP_HOST} !^example\.com$ RewriteRule ^(.*)$ "https://example.com/$1" [R=301,L] # remaining htaccess mod_rewrite CODE for WordPress </IfModule> This will do the following example redirects: http://www.example.com/ → https://example.com/ http://www.example.com/abc → https://example.com/abc https://www.example.com/ → https://example.com/ https://www.example.com/abc → https://example.com/abc # Additionally, even if your site is reachable by IP or # some other domains or subdomains, this CODE will fix that too http://Your_Server_IP/abc → https://example.com/abc http://sub-dmoani.example.com/abc → https://example.com/abc http://www.other-domain.com/abc → https://example.com/abc #Not Recommended CODE: If for some reason, you don't want to follow the above recommendation & still want to allow both `http` and `https`, you may use the following CODE (based on [this answer][3]): <IfModule mod_rewrite.c> RewriteEngine On # set protocol variable RewriteCond %{HTTPS} =on RewriteRule ^(.*)$ - [env=proto:https] RewriteCond %{HTTPS} =off RewriteRule ^(.*)$ - [env=proto:http] RewriteCond %{HTTP_HOST} !^example\.com$ RewriteRule ^(.*)$ "%{ENV:proto}://example.com/$1" [R=301,L] # remaining htaccess mod_rewrite CODE for WordPress </IfModule> This will do the following example redirects: http://www.example.com/ → http://example.com/ http://www.example.com/abc → http://example.com/abc https://www.example.com/ → https://example.com/ https://www.example.com/abc → https://example.com/abc [1]: https://medium.com/google-developer-experts/the-importance-of-using-https-all-the-way-9c65c0224e86 [2]: https://www.sslchecker.com/sslchecker [3]: https://stackoverflow.com/a/20419821/854549