首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将https重定向到非www,将http重定向到www

将https重定向到非www,将http重定向到www
EN

Stack Overflow用户
提问于 2012-05-24 01:58:47
回答 2查看 4.9K关注 0票数 7

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

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

当通过http访问站点时,我想强制www前缀做域名。

但是,SSL证书只有在没有www的情况下才有效。

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

EN

回答 2

Stack Overflow用户

发布于 2012-05-24 02:57:05

只有在客户端向https://www.mysite.com发出初始请求后,才能从https://www.mysite.com重定向到https://mysite.com

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

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

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

当您申请mysite.comwww.mysite.com中的一个时,CA通常会颁发对其中一个有效的证书,有时不收取额外费用。

票数 13
EN

Stack Overflow用户

发布于 2012-05-24 02:14:54

将以下内容放在非HTTPS文档根目录下的.htaccess文件中:

代码语言:javascript
运行
复制
RewriteCond %{HTTP_HOST} ^mysite.com$
RewriteRule ^(.*)$ http://www.mysite.com/$1 [R]

在您的HTTPS文档根目录中:

代码语言:javascript
运行
复制
RewriteCond %{HTTPS} =on
RewriteCond %{HTTP_HOST} ^www.mysite.com$
RewriteRule ^(.*)$ https://mysite.com/$1 [R]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10725357

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档