*Firstly, I know there is a million of copies of this question already but after hours of trying solutions from all of them I've got nowhere.*

So I want to redirect all incoming HTTP traffic on my Apache web server to HTTPS. I've tried several approaches and most of them have had 1 of 2 results: a) a redirect loop or b) only the very top-level page is redirected (i.e no directories get sent to HTTPS). 

My current virtualhost file looks like this:

```
<IfModule mod_ssl.c>  
    <VirtualHost *:80> 
    ServerName roboguy99.co.uk
    Redirect / https://roboguy99.co.uk/
    </VirtualHost>
    <VirtualHost *:443>
        ServerAdmin roboguy99@gmail.com
    ServerAlias www.roboguy99.co.uk
        ServerName roboguy99.co.uk
        DocumentRoot /var/www/
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
        SSLEngine on
        SSLCertificateFile /etc/apache2/ssl/apache.crt
        SSLCertificateKeyFile /etc/apache2/ssl/apache.key
        <FilesMatch "\.(cgi|shtml|phtml|php)$">
                        SSLOptions +StdEnvVars
        </FilesMatch>
        <Directory /usr/lib/cgi-bin>
                        SSLOptions +StdEnvVars
        </Directory>
        BrowserMatch "MSIE [2-6]" \
                        nokeepalive ssl-unclean-shutdown \
                        downgrade-1.0 force-response-1.0
        BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown
    </VirtualHost>
</IfModule>

```

This current config is causing a redirect loop.

Any help is greatly appreciated.

**Possibly useful information:**

* Apache 2.2.22
* Running on Debian (Raspberry Pi)
* Accessing from Windows 8.1, Google Chrome

*I'm away for the week so if I don't reply to any questions, that's why. I'm also going to remove the redirect while I'm away, so live-testing the site won't work at the moment.*