Apache将https和非www重定向到www
问题描述:
我遇到了apache2的问题。我想将端口80重定向到端口443,但也将非www重定向到www。
I'm having an issue with apache2. I would like to redirect both port 80 to port 443 but also redirect non www to www.
在以下配置中,http到https重定向工作正常:
In the following config I have the http to https redirection working fine:
<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
The problem is this I can redirect http to https fine, however when I go to https://example.com
it does not redirect to https://www.example.com
任何人都可以帮我解决这个问题吗?
Can anyone help me with this issue?
答
在你的< ; VirtualHost *:443>
部分,添加以下规则:
In your <VirtualHost *:443>
section, add the following rules:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^ https://www.example.com%{REQUEST_URI} [R=301,L]