.htaccess - 从旧域重定向到新域并强制HTTPS

时间:2018-01-11 20:25:32

标签: .htaccess redirect mod-rewrite

我无法在所有条件下使这些重定向工作。我希望我可以用.htaccess修复它,但可能会有一些问题,因为我之前尝试通过主机的控制面板强制重定向。

无论如何,olddomain.com/whatever,使用http://或https://并且有或没有www都应永久重定向到https://www.newdomain.com/whatever

有一次我除了https://olddomain.com正确地重定向外,其他所有东西。现在我已经破坏了它,我只是得到了太多的重定向错误。

我相信这两个域都附有一个Let's Encrypt证书。如果这有所不同,则不需要保护旧域。

1 个答案:

答案 0 :(得分:2)

根据https://serverfault.com/a/728957,您可以使用此代码段来帮助将用户重定向到该网站的https://www

RewriteEngine On
# ensure www.
RewriteCond %{HTTP_HOST} !^www\. [NC]
RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

# ensure https
RewriteCond %{HTTP:X-Forwarded-Proto} !https 
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

希望有所帮助!