【问题标题】:.htaccess Redirect Specific Subdomain from HTTPS back to HTTP.htaccess 将特定子域从 HTTPS 重定向回 HTTP
【发布时间】:2012-05-30 17:48:21
【问题描述】:

我正在使用 .htaccess 将所有请求(子域除外)从 HTTP 重定向到 HTTPS。这段代码对我来说很好:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} !=m.example.com
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

但是,它不会阻止用户手动尝试使用 HTTPS 访问子域(我拥有的 SSL 不涵盖子域并且在用于子域时显示信任错误)。

现在,我想知道:

1-如何将所有到子域的 HTTPS 请求重定向回 HTTP?

2-如何修改此代码以将子域限制动态应用到其他子域(不仅是 m.example.com)

【问题讨论】:

  • 我相信 SSL 握手发生在处理 .htaccess 规则之前(确认这一点),所以你的问题可能只是没有实际意义。

标签: .htaccess


【解决方案1】:

1) 如果证书不包含 m.example.com,则您永远无法发送重定向,因为浏览器将拒绝建立连接。所以没有办法做到这一点。

2) 所以你希望 htaccess 做的就是将裸域重定向到 https。为此,请使用:

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^example.com$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

我认为证书还包括www.example.com使用

RewriteCond %{HTTPS} off
RewriteCond %{HTTP_HOST} ^(www.)?example.com$
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI}

【讨论】:

    猜你喜欢
    • 2019-03-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-19
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 2019-09-15
    相关资源
    最近更新 更多