【问题标题】:how to redirect all sub domain into http instead of https except the main domain如何将所有子域重定向到 http 而不是 https 除了主域
【发布时间】:2016-05-23 13:02:17
【问题描述】:

今天我刚刚从我的单个域购买了 SSL 证书,它作为 mydomain.com 可以正常工作,但是当我选择子域示例 city.mydomain.com 时它不是工作所有页面看起来完全不同,我所有的 CSS 文件看起来都很糟糕,页面布局出现故障。任何有关适当示例的帮助将不胜感激。

我有超过 70 个子域

主域应该是这样的>>> https://www.presskr.com 并且所有子域都应该是这样的https://subdomain.presskr.com

【问题讨论】:

  • 你想重定向到什么?你想重定向 http://example.com 到 https://example.com 和 https:// everythingelse.example.com 到 http:// Everythingelse.example.com ?
  • 我想重定向 https//:emaple.com 和子域 http:// area.eample.com 因为我有一个域SSL证书

标签: php .htaccess redirect https subdomain


【解决方案1】:

如果我理解,您想将 一切 重定向到 https。而且页面看起来很奇怪。

这是一个混合内容的问题,你需要编辑你的网页,将javascript、css和其他资源的链接从http更改为https。

您不能仅通过重定向来解决该问题,因为当浏览器看到他需要获取 https 网页的 http js/css/* 时,他会停止,因为它不安全。他在发出请求之前就停止了,所以浏览器不知道您的重定向。

临时解决方法是使用https://www.w3.org/TR/upgrade-insecure-requests/,但它不适用于任何地方http://caniuse.com/#feat=upgradeinsecurerequests

【讨论】:

    【解决方案2】:

    这也行

    RewriteEngine On
    RewriteCond %{HTTP:X-Forwarded-Proto} =http://www
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    

    【讨论】:

    • 如何将所有子域重定向到http云中,请给我发送简单示例的重定向方法,我是否需要通过cPanel进行重定向?如果是,那么该怎么做,我是初学者,我对编码了解不多
    • 只要去掉所有重定向相关的代码,然后再过去上面的代码
    • 欢迎来到 Stack Overflow!虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
    【解决方案3】:

    在您的根 htaccess 文件中写入以下规则。

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

    希望对你有帮助:)

    【讨论】:

    • 仍然无法处理上述命令 RewriteCond %{HTTPS} off RewriteCond %{HTTP_HOST} !=example.com RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}
    猜你喜欢
    • 1970-01-01
    • 2014-09-23
    • 1970-01-01
    • 2017-04-22
    • 1970-01-01
    • 2014-05-28
    • 1970-01-01
    • 2015-03-09
    • 1970-01-01
    相关资源
    最近更新 更多