首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess SSL单域

问.htaccess SSL单域
EN

Stack Overflow用户
提问于 2012-06-25 13:12:08
回答 2查看 1.1K关注 0票数 0

我有谷歌爸爸托管,我正在使用它来托管多个域名。有了这个主机,我得到了一个免费的标准(一个域名) SSL证书。我在我的主域上设置了它,一切都很好,https://www.primarydomain.com工作正常。另外,我的辅助站点仍然可以使用常规的http。

(也只是想让你知道,当我访问https://secondarydomain.com时,大多数浏览器都会告诉我返回,网站不好,可能会损害计算机等,因为证书只适用于主要用户。)

所以我尝试做的是,当用户转到我的主站点时,htaccess会使用以下代码自动更改为https:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

这一切都很好,但是因为第二个域从第一个域的目录中获取内容,所以.htaccess会影响我拥有的所有域,从而尝试将https添加到我的第二个域中。(通知用户离开站点)

我该如何告诉.htaccess只有在我的主域上才更改为https,并让它与我的辅助域的http保持一致?

如果你不知道我在说什么,你可以马上看到我的主域是如何变成https:http://www.alexkafer.com的

然后,我的一个辅助域:http://www.codingapple.com也会尝试更改为https,即使它不是为该域创建的。我保证我的第二个不会伤害你的计算机,只是证书不是针对域名codingapple.com的,这就是我想要修复的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-06-26 00:35:59

感谢@Scott S的代码。它工作得很完美,除了它做了我想要的相反的事情。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(127\.0\.0\.1|localhost)$
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

上面的代码将每个辅助域更改为HTTPS,而不是将主域更改为HTTPS。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(127\.0\.0\.1|localhost)$
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

我删除了!在^(127.0.0.1|localhost)$之前,现在它正在做我需要的事情!

票数 0
EN

Stack Overflow用户

发布于 2012-06-25 19:23:29

添加RewriteCond以检查url。

例如,如果HTTPS不是本地连接,下面的代码将打开它。

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTP_HOST} !^(127\.0\.0\.1|localhost)$
RewriteCond %{HTTPS} !on
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11183766

复制
相关文章

相似问题

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