.htaccess规则仅在某些域上强制使用SSL

加伦·吉德曼

我正在运行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/*
怀特先生

.htaccess文件顶部附近尝试以下操作。使用mod_rewrite:

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(永久)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

htaccess如果存在某些文件,则强制使用SSL

Cloudflare页面规则,仅在一页上使用SSL

Codeigniter 上的 HTTPS .htaccess 如何强制使用 SSL?

.htaccess使用子文件夹重写规则强制使用SSL

强制简化以仅使用某些规则

.htaccess在被屏蔽的域上重定向,仅在使用特定域时才生效

如何使某些代码仅在某些特定域上运行

如何使用 www - htaccess 强制域

不需要的https使用htaccess规则在子域上重定向

在 htaccess 中使用 www 强制 SSL

使用.htaccess强制SSL和WWW

在.htaccess上强制HTTPS,但仅在生产环境中

在子域上设置Apache HTAccess重写规则

通配符.htaccess并拒绝子域上的某些地址

htaccess强制https和www。在域上&http在子域上没有www

为什么我在htaccess中的重写规则仅在某些情况下有效?

强制在htaccess中使用www,但所有子域除外

.htaccess强制使用https,但不包括子域

在WordPress档案上强制使用SSL

htaccess重写规则相同的域

.htaccess强制HTTPS,在某些情况下还包括www。但不包括特定的子域

使用.htaccess和mod_rewrite强制SSL / https

通过页面规则强制“开启” SSL时,控制Cloudflare上的缓存和CDN

在Cpanel上添加重定向(301)规则以强制SSL时出错

如何仅在某些方法上使用Charles的重写工具?

JAX-WS + Spring:在某些输入上强制使用CDATA

Azure上的静态网站使用htaccess文件强制使用https

.htaccess子域的重定向规则

.htaccess重写规则到外部域