【问题标题】:What controls redirection from https://www.host.com to https://host.com?什么控制从 https://www.host.com 到 https://host.com 的重定向?
【发布时间】:2019-05-05 11:14:30
【问题描述】:

除了https://www.host.comhttps://host.com 之外的所有东西都有效:

  1. host.com                   --> https://host.com
  2. www.host.com            --> https://host.com
  3. https://host.com         --> https://host.com
  4. https://www.host.com --> ?错误

我的 DNS 记录是这样的:

  1. 类型:记录
    • 主持人:@
    • 值:111.222.333.444
  2. 类型:CNAME 记录
    • 主持人:www
    • 值:host.com。
  3. 类型:URL 重定向记录 - 未屏蔽
  4. 类型:URL 重定向记录 - 未屏蔽

还有一些 MX 记录。这个 DNS 在 Namecheap 上,所以 我认为 URL Redirect Record301 Permanent Redirect

此外,现在在运行 URL 重定向记录后,nslookup host.com 返回两个不同的 IP 地址。

什么控制重定向,从https://wwwhttps://non-www

在 Ubuntu 16 上,DigitalOcean Droplet,通过 certbot 设置 SSL。

【问题讨论】:

    标签: redirect https dns no-www namecheap


    【解决方案1】:

    发现错误。

    SSL 证书缺少 www.example.com 版本/域。

    由于 SSL 是使用 Let's Encrypt / Certbot 安装的,因此使用 sudo certbot certificates 表明 Domains: 只有非 www 版本。

    所以重定向实际上在所有情况下都运行良好,除非 https 捕获 www 版本并由于缺少证书而引发错误。此外,原帖中的重定向 3 和 4 是不必要的。

    【讨论】:

      【解决方案2】:

      使用 apache 你可以使用以下:

      RewriteCond %{HTTP_HOST} ^www.exampledomain.com$
      RewriteCond %{SERVER_PORT} ^443
      RewriteRule ^(.*)$ https://exampledomain.com/$1 [R=301]
      

      然后

      sudo a2enmod rewrite;
      sudo service apache2 restart; 
      

      【讨论】:

      • 我检查并已经在 apache conf 文件中有类似的功能性重写规则。
      猜你喜欢
      • 1970-01-01
      • 2011-12-20
      • 2019-01-31
      • 1970-01-01
      • 2020-05-22
      • 1970-01-01
      • 2011-08-18
      • 1970-01-01
      • 2017-09-06
      相关资源
      最近更新 更多