apache2重写configuration不工作

我有一个文件www.example.org.conf ,我想将httpredirect到https 。 问题是该文件不完全正确的工作。

 <VirtualHost *:80> ServerName example.org ServerAlias www.example.org DocumentRoot "/var/www/example.org/www" CustomLog /var/www/example.org/www.access.log common ErrorLog /var/www/example.org/www.error.log RewriteEngine on RewriteCond %{SERVER_NAME} =example.org [OR] RewriteCond %{SERVER_NAME} =www.example.org RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent] </VirtualHost> 

redirect实际上是从letsencrypt自动生成的,但是这是问题所在。

在http://www.example.org中键入将按照预期redirect到https://www.example.org 。

问题是当你inputhttp://example.org时 ,它将显示apache的默认页面,而不是redirect到https。

当我inputhttps://example.org或https://www.example.org (显示我想要的页面)时,我可以validationSSL conf是否正常工作。 所以我得出结论,问题在于mod_rewrite 。 但是,我不知道什么是错的。 事实上,我遵循相同结构的其他虚拟主机按预期工作。

请帮我弄清楚我的网站configuration有什么问题。 顺便说一句,我使用Debian的Apache2。

这通常是因为您的000-default网站,当在Debian服务器上安装apache2时自动启用自身。 检查是否启用000-default