将httpredirect到https和非wwwredirect到www

我遇到了apache2的问题。 我想将端口80redirect到端口443,但也redirect非www www。

在下面的configuration我有httpredirect到https工作正常:

<VirtualHost *:80> Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost *:443> ServerName www.example.com DirectoryIndex index.html ... </VirtualHost> 

问题是我可以redirecthttp到https罚款,但是当我去https://example.com它不redirect到https://www.example.com

任何人都可以帮我解决这个问题吗?

<VirtualHost *:443>部分中,添加以下规则:

 RewriteEngine On RewriteCond %{HTTP_HOST} ^example\.com$ [NC] RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]