How to redirect http to https for IP and domain on Apache2

5,574

If you want redirect all :80 visits excluding those to http://example.com:

<VirtualHost _default_:80>
     RewriteEngine On
     RewriteCond %{HTTP_HOST} !^example.com$
     RewriteRule /.* https://example.com/ [R]
</VirtualHost>

If you want to redirect even the ones that go to http://example.com, do the following:

<VirtualHost _default_:80>
     RewriteEngine On
     RewriteRule /.* https://example.com/ [R]
</VirtualHost>

Obviously, if you have other VirtualHost stanzas, it may never reach the _default_ one.

Hope this helps!

Share:
5,574

Related videos on Youtube

masterhon
Author by

masterhon

Updated on September 18, 2022

Comments

  • masterhon
    masterhon over 1 year

    I have an Apache2 web server running on Ubuntu 12.04. The domain of the website that I am hosting works fine, and if you go to the http version instead of the https version, it automatically redirects to the https version of the domain.

    However, if I go to the http version of the ip address of the domain, it does not automatically redirect to the https version of the ip address.

    There is nothing in the .htaccess or httpd.conf file.

    I have tried adding a redirect for the ip specifically in the .htaccess file, but it does not work properly and the when I visit the domain, it says there are too many redirects.

    I have a default-ssl file and website file in the sites-enabled folder. The default-ssl has virtual host config for port 443 and the ServerName

    The website file has virtual host config for port 80, but no ServerName

    Both files have the same DocumentRoot

    How do enable the https redirect for the ip address as well, not only the domain?

    • ADM
      ADM almost 10 years
      why do you need this??
    • masterhon
      masterhon almost 10 years
      My site handles very sensitive information, I don't want someone to access it through http at all.
  • masterhon
    masterhon almost 10 years
    Which file would I add this to? I just upgraded to apache 2.4.9
  • NukaRakuForgotEmail
    NukaRakuForgotEmail almost 10 years
    Replace the current VirtualHost for port 80.
  • masterhon
    masterhon almost 10 years
    In the file for the site in sites-enabled?