HTTP 到 HTTPS 重定向不适用于 Apache 2.4

Noo*_*les 0 mod-rewrite https apache-2.4

我有这个 apache 配置:

<VirtualHost *:80>
DocumentRoot "/home/example/public_html/"
ServerName www.example.com

<Directory "/home/example/public_html/">
  allow from all

  RewriteEngine on
  RewriteRule ^(.*)$ https://www.example.com/$1 [R=301,L]
</Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

重定向似乎永远不会触发,只是从 http 提供文件。我尝试了各种组合,但似乎没有任何效果。

mod_rewrite 已启用(使用 LoadModule rewrite_module modules/mod_rewrite.so)

任何人都可以帮忙吗?

Esa*_*nen 5

这太复杂了。您只需要两个(或三个)指令即可将所有内容重定向到 HTTPS,例如

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    Redirect permanent "/" "https://www.example.com/"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这将重定向www到规范 HTTPS 站点和不重定向到规范 HTTPS 站点。