使用.htaccess将domain.com重定向到www.domain.com

时间:2017-02-21 18:18:28

标签: apache .htaccess ssl redirect lets-encrypt

Sitegound.com建议将以下代码转移到ssl

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI} [R=301,L]
</IfModule>

还有第二种方法可以做同样的事情:

RewriteCond %{HTTPS}s ^on(s)|
RewriteRule .* http%1://www.domain.com/$0 [R=301,L]

有些人还会检查ssl端口

RewriteCond %{SERVER_PORT} !443

哪种方式更好,有人可以告诉我吗?

以及如何添加第二个条件以从domain.com转移到www.domain.com

RewriteCond %{HTTP_HOST} !^www.domain.com$ [NC]

或者我应该使用cpanel中的域转发转发到www版本,只需使用.htaccess for ssl 我可以在ssl条件之上添加条件吗?

我想要的结果是 形成     http:// OR     https:// OR     http://www 至     https://www.domain.com 具有最小重定向和最快加载时间。

2 个答案:

答案 0 :(得分:1)

这样做的目的是什么?如果您在domain.com上获得了TLS证书,而在www.domain.com上却没有证书,那么浏览器从www.domain.com读取证书时就会触发证书警报。

这是应该起作用的方式。您可能需要考虑使用通配符或SAN证书来满足您的需求。 请参阅证书颁发机构(CA)letsencrypt的文档,以获取有关此过程的更多参考。

LetsEncrypt community

答案 1 :(得分:0)

好吧,而不是玩htaccess ..

登录网站的Cpanel 点击重定向 在重定向屏幕中..将重定向类型设置为永久 在下一个下拉菜单中选择域名 在重定向到窗口https://www.domainname.com

然后点击添加

进行。