我有一个 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
这应该能满足你的需求