繁体   English   中英

将https重定向到非www和http到www

[英]Redirect https to non-www and http to www

我需要重定向的组合来实现以下目标:

要将http://example.com重定向到http://www.example.com ,同时将https://www.example.com重定向到https://example.com

我想在通过http访问网站时强制使用www前缀做域名。

但是SSL证书只能在没有www

通过https访问时,我不希望域名具有www前缀。

https://www.mysite.comhttps://mysite.com的重定向只能在客户端向https://www.mysite.com发出初始请求后才会发生。

要使此初始连接正常工作, https://www.mysite.com www.mysite.com的服务器必须具有对www.mysite.com有效的证书,否则,此连接甚至不会发生(并且服务器不会发送重定向响应)。

如果您仍需要重定向,则在同一服务器上,您的服务器必须提供对您要提供的主机名有效的证书。 您应该获得一个包含两个主题备用名称DNS条目的证书: mysite.comwww.mysite.com ; 这将允许您使用相同的证书为两个主机提供服务(如果需要,然后使用重写规则)。

(如果您希望客户端支持它,您也可以使用具有两个不同证书的服务器名称指示,但这通常用于完全不同的主机名。)

当您申请其中一个证书时,CA发行对mysite.comwww.mysite.com都有效的证书是很常见的,有时候不需要额外费用。

将它放在非HTTPS文档根目录中的.htaccess文件中:

RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R]

这在您的HTTPS文档根目录中:

RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^www.mysite.com$
RewriteRule ^(.*)$ https://mysite.com/$1 [R]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM