.htaccess - 如何在 htaccess 中仅将特定子域重定向到 HTTPS?
问题描述
假设我有 3 个子域,sub1
,sub2
和sub3
. 我想将所有 HTTP 请求重定向到sub1
并sub2
使用 HTTPS,但我不想sub3
做任何重定向。
当我刚刚sub1
和sub2
设置时,我最初有以下内容,它工作正常,但因为我sub3
现在有并且它不能被定向到 HTTPS,它不再工作了:
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://${HTTP_HOST}%{REQUEST_URI} [L,R=301]
解决方案
有条件查询域名:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(?:www\.)?(?:sub1|sub2)\. [NC]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]
推荐阅读
- html - 形成背景渐变但不低于输入
- c# - Pkcs11Interop (C#) - 在 Utimaco HSM 模拟器上计算 HMAC 签名
- flutter - 通过传递变量来打印变量的值
- postgresql - 在 PostgreSQL 中为带前缀的表创建索引
- javascript - JavaScript:用户关闭横幅并且在接下来的 30 天内不显示横幅
- java - XSLT 无法将样式表附加到 XML
- json - 如何将正文(ByteBuffer)解码为 Vapor 4 中的内容?
- javascript - 太多的重新渲染。React 限制了渲染的数量以防止无限循环。使用状态问题?
- django - Django 多个数据库......尽管路由器,所有模型都是在第二个数据库中创建的,我的路由器不是很好吗?
- python - contourf 不显示没有颜色条的级别范围之外的颜色