-1

I've following VirtualHost configured:

<VirtualHost *:80>
    ServerAdmin     mymail@mymail.com
    DocumentRoot    /var/www/mysite.com/public_html/
    ServerName      www.mysite.com
    ServerAlias     mysite.com

    <Directory "/var/www/mysite.com/public_html">
        #Options FollowSymLinks
        #AllowOverride All
        #Order allow,deny
        #Allow from all
      Options Indexes FollowSymLinks
      AllowOverride All
      Order allow,deny
      Allow from all
      Require all granted
    </Directory>

I'd like:

  1. to enforce a https-only connection
  2. and allow a connection when the user uses mysite.com without www

How to do that?

Thanks

Freddy
  • 1,999
  • 5
  • 12
stighy
  • 911
  • 8
  • 21
  • 31

1 Answers1

1

First, you should have 443 port virtual host definition for HTTPS.

Second, add a rewrite rule from port 80 to 443.

Sample fragments:

<VirtualHost __default_:443>
    ServerAdmin     mymail@mymail.com
    DocumentRoot    /var/www/mysite.com/public_html/
    ServerName      www.example.com
    ServerAlias     example.com
    SSLEngine       On
    ...
</VirtualHost>

<VirtualHost *:80> 
    ServerName www.yourdomain.com 
    Redirect permanent / https://www.example.com/ 
</VirtualHost>
zhaorong
  • 136
  • 5