我正在使用 Ubuntu 18.04 Apache
。
我有以下内容/etc/apache2/sites-available/000-default.conf
:
<VirtualHost *:80>
RewriteEngine On
RewriteCond %{SERVER_NAME} =www.example.com [OR]
RewriteCond %{SERVER_NAME} =example.com
RewriteRule ^ https://www.%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
我想全部重定向到https
AND www
。
这些全部重定向到https://www.example.com
:
https://www.example.com
http://example.com
http://www.example.com
这不会被重定向到https://www.example.com
:
https://example.com
我也添加了代码,<VirtualHost *:443>
但这没有帮助。
为什么没有https://example.com
重定向到https://www.example.com
?
答案1
找到解决方案: 处有一个针对 HTTPS/SSL/433 的自己的文件/etc/apache2/sites-available/000-default.conf
。
在我添加了以下代码之后/etc/apache2/sites-available/000-default.conf
,一切都按预期运行:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^(.*)$ https://www.%{HTTP_HOST}%{REQUEST_URI} [R=301,L]