我在 .htaccess 中已经有重写规则。我的旧规则将所有 html 扩展名替换为 php。我的 .htaccess:
RewriteEngine On
RewriteRule ^(.*).html$ index.php?set=$1
现在我们有了 SSL,所以我想将所有 url http 重定向到 https,而不影响我的旧规则。我试过:
RewriteEngine On
RewriteRule ^(.*).html$ index.php?set=$1RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]
RewriteRule ^(.*).html$ index.php?set=$1
这样,https 重定向就可以正常工作,但我的旧规则失败了。
答案1
为什么不使用重写来将所有 http 连接重定向到 https,而是使用重定向?
Redirect / https://your.server.com/
仅将此重定向添加到 http 虚拟主机(我假设您正在使用虚拟主机来实现 https 站点)。