将一个域上的所有请求重定向到 https 非 www

将一个域上的所有请求重定向到 https 非 www

我有一个在一个域上运行的 ISPConfig 3 站点。我有多个 vhost 文件用于通过 Apache 运行的不同应用程序。我想启用https://example.com/%QUERY_STRING%针对通过该域的 Apache 发出的每个请求。现在,我必须粘贴

RewriteEngine on
RewriteCond %{HTTPS} ^off$
RewriteRule . https://example.com%{REQUEST_URI} [R,L] 

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

在我的每一个虚拟主机中。如果我必须这样做一次,那就没有问题了,但我会不断清除我的服务器并从头开始重建它(我有充分的理由)。我不喜欢浏览所有的虚拟主机并在每个虚拟主机中粘贴这个,我知道一定有更技术性的方法来做到这一点。我试过把它放在我的里面,apache2.conf但这行不通。另外,除非我们在<Location><Directory>或类似的地方,否则我无法打开 SSLEngine。

我该怎么做呢?

答案1

只需输入apache2.conf

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule (.*) https://example.com$1 [R,L] 

RewriteCond %{HTTPS} on
RewriteCond %{HTTP_HOST} ^www\.example\.com
RewriteRule (.*) https://example.com$1 [R,L] 

相关内容