首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >.htaccess规则仅在特定域上强制SSL

.htaccess规则仅在特定域上强制SSL
EN

Stack Overflow用户
提问于 2017-05-09 20:57:57
回答 1查看 691关注 0票数 3

我正在运行一个WordPress多站点网络,允许用户在他们的网站上选择使用自定义域名。选择不使用自定义域的用户被分配到WP安装的子域(例如: fred.example.com,example.com是安装WP多站点网络的URL )。

我为主域配置了通配符SSL,但我没有可用于自定义域名的证书。

我需要的是一个htaccess规则,如果请求是针对example.com*.example.com的,则强制将流量发送到https,但如果请求是使用自定义域的,则不需要。

它的工作应如下:

  • http://example.com/*https://example.com/*
  • http://foo.example.com/*https://foo.example.com/*
  • http://customdomain.com/*http://customdomain.com/*
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-09 21:14:10

在您的.htaccess文件顶部附近尝试下面这样的内容。使用mod_rewrite:

代码语言:javascript
复制
RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteCond %{HTTP_HOST} ^(?:[a-z0-9-]+\.)?example\.com
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [R=302,L]

上面写的是..。对于所有不是HTTPS并且匹配example.com<subdomain>.example.com的请求,然后在同一个主机上重定向到https://,相同的URL-路径。

请注意,这不允许www.<subdomain>.example.com (我认为您的SSL证书无论如何都不包含)。

只有当您确信302 (临时)工作正常时,才将它更改为301 (永久)。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43879746

复制
相关文章

相似问题

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