Apache https 重定向 URL 错误

Apache https 重定向 URL 错误

我有一个 Apache 网站,我设置了一个重定向,以便它始终转到网站的 HTTPS 版本。我在端口 80 Virtualhost 配置下添加了以下内容:

Redirect permanent / https://example.com

当我访问时这很好用http://example.com,它被重定向到https://example.com

但当我访问这样的网站时http://example.com/page.php尾部斜杠被删除。因此,重定向到https://example.com/page.php它被重定向到https://example.compage.php(这将导致错误)。

我正在使用 Ubuntu,Apache 版本是:Apache/2.4.29(Ubuntu)

答案1

通过 Apache 执行此操作的最简单方法是启用mod_rewrite,然后使用响应重定向流量301

在该站点的 Apache 配置文件中,添加以下内容:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteCond %{HTTP_HOST} ^example\.com$
  RewriteRule ^(.*)$ https://example.com/$1 [R=301,L]
</IfModule>

如果mod_rewrite未启用,您可以这样做:

sudo a2enmod rewrite
sudo service apache2 restart

这应该能满足你的需求

相关内容