Apache将http重定向到https和非www重定向到www

Apache将http重定向到https和非www重定向到www,apache,https,url-redirection,Apache,Https,Url Redirection,我对apache2有意见。我想将端口80重定向到端口443,但也将非www重定向到www 在以下配置中,http到https重定向工作正常: <VirtualHost *:80> Redirect permanent / https://www.example.com/ </VirtualHost> <VirtualHost *:443> ServerName www.example.com DirectoryIndex index.

我对apache2有意见。我想将端口80重定向到端口443,但也将非www重定向到www

在以下配置中,http到https重定向工作正常:

<VirtualHost *:80>
    Redirect permanent / https://www.example.com/
</VirtualHost>

<VirtualHost *:443>
    ServerName www.example.com
    DirectoryIndex index.html
    ...
</VirtualHost>
问题是我可以将http重定向到https,但是当我转到https://example.com 它不会重定向到https://www.example.com

有人能帮我解决这个问题吗?

在您的部分中,添加以下规则:

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

这很好用。谢谢你的帮助。你能给我提供一份关于mod_rewrite的类似文档,以便我更好地理解这些规则中的方法吗?再次感谢。@AaronCouch作为一个初学者,我建议你从以下开始:另外,如果答案有帮助,请将其标记为这样,这样问题就不会列在未回答的问题下。名单!:这似乎不适用于重定向http://www... 到https://www. apache 2.4.46。