首页 > 解决方案 > 如何在 htaccess 中仅将特定子域重定向到 HTTPS?

问题描述

假设我有 3 个子域,sub1,sub2sub3. 我想将所有 HTTP 请求重定向到sub1sub2使用 HTTPS,但我不想sub3做任何重定向。

当我刚刚sub1sub2设置时,我最初有以下内容,它工作正常,但因为我sub3现在有并且它不能被定向到 HTTPS,它不再工作了:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://${HTTP_HOST}%{REQUEST_URI} [L,R=301]

标签: .htaccess

解决方案


有条件查询域名:

RewriteEngine On

RewriteCond %{HTTP_HOST} ^(?:www\.)?(?:sub1|sub2)\. [NC]
RewriteCond %{HTTPS} off
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301,NE]

推荐阅读