Apache htaccess and mod_rewrite how to redirect and force all URLs and visitors to the SSL / HTTPS version

It is really simple using .htaccess with mod_rewrite.

Here is all you need:

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

Another more graceful way is to use the %{SERVER_NAME} variable to make it dynamic.  Just be careful that the server name will always match what you expect. (eg. if you are doing load balancing or clustering what if the server name may be something other than the public facing URL).

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

 

The above just detects that the user has connected with non-SSL by connecting to port 80.  When that condition is detected it just rewrites the url to the same thing only with https:// to "site.com" (make sure you change site.com to your domain)


Tags:

apache, htaccess, mod_rewrite, redirect, urls, ssl, https, versionit, rewritecond, server_port, rewriterule, graceful, server_name, variable, dynamic, server, eg, balancing, clustering, url, detects, user, connecting, detected, rewrites, quot, domain,

Latest Articles

  • How To Convert HTML to Text Based PDF
  • How To Emulate Android in Linux
  • How to use KVM and GUI inside Docker
  • python spacey ERROR: No matching distribution found for thinc<8.4.0,>=8.3.12
  • Debian 11 security repo fixes due to EOL
  • MySQL vs MariaDB how to create a socket user tutorial
  • Ubuntu Linux Mint Desktop Dark Black Cannot See Solution
  • How to combine .txt ACLs without breaking things
  • How to ping all of Googlebot's IPs script
  • 'virtio0' uses a qcow2 feature which is not supported by this qemu version: QCOW version 3
  • Linux bash script to get the IP of a list of hostnames
  • How To Use Camera Webcam in Docker for OBS Studio etc...
  • Computer Server Won't Post Boot Or Enter BIOS Setup After Installing RAID SAS or GPU Card etc..
  • How To Test PHP Scripts from CLI with GET variables/query string
  • apt-cache how to see all available versions of a package in Debian Ubuntu Mint
  • Virtualbox VBox Guest-utils drag and drop files stops working with Windows VMs
  • How To Remove Ubuntu Netplan and Go Back to /etc/network/interfaces
  • How To Force Flash an AMD Instinct GPU To Another Model Using Debian Ubuntu Mint Linux
  • How To compile ollama from source to use unsupported AMD GPU with rocm in Ubuntu Debian
  • QEMU KVM Virtio GPU Windows Cannot Select 1080P