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

  • 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
  • Linux Gnome Desktop Ubuntu Mint Debian Gets Slower After Weeks
  • Firefox How to Save Full Page As Screenshot/PDF
  • Nvidia Datacenter Driver Tesla Slow nvidia-smi response and high utilization with 0 usage
  • ffmpeg how to normalize / increase the volume of your audio
  • kdenlive audio blips pops cracks artifacts solution fix
  • haproxy / nginx certbot SSL issues
  • nginx how to see the real IP when behind a CDN
  • Docker how to find real container child process ID
  • Alibaba Aliyun how to reset password solution 'Setup does not meet the requirements, please resetting'
  • RTL88X Series 80Mhz hostapd mode for Linux Debian Kali
  • How To Deploy Your Own Mastodon Server in Docker
  • ffmpeg burning subtitles in non-English errors [Parsed_subtitles_0 @ 0x561d3a0b3b80] Glyph 0x6709 not found, selecting one more font for (Sans, 700, 0)
  • rsyslog in container config
  • Interesting Whisper AI CPU vs GPU Test
  • How to install pytorch with cuda capability for AI acceleration with Nvidia Tesla etc.. GPUs