【问题标题】:Avoiding landing page redirects for HTTP to HTTPS避免将 HTTP 的着陆页重定向到 HTTPS
【发布时间】:2017-06-23 13:28:25
【问题描述】:

对可能是新手的问题表示歉意——希望有她可以帮助的人。

查看我们的网站 (https://depressionforums.org/forums) 速度指标(例如 gtmetrix),我们的主要问题之一是着陆页重定向,它主要用于将流量从 http 引导到 https。

为了实现这一点,我们使用以下 .htaccess 规则:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteCond %{REQUEST_URI} !^/[0-9]+\..+\.cpaneldcv$
RewriteCond %{REQUEST_URI} !^/[A-F0-9]{32}\.txt(?:\ Comodo\ DCV)?$
RewriteCond %{REQUEST_URI} !^/\.well-known/acme-challenge/[0-9a-zA-Z_-]+$
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R,L]

但是,我想知道是否有一种更有效/更雄辩的方式可以避免着陆页重定向,至少对于 http --> https 而言?

提前感谢您的任何建议。

[编辑:这是一个专用服务器,所以我们确实可以访问 httpd.conf 等)

【问题讨论】:

  • 考虑部署Strict Transport Security。这会通知浏览器,“嘿,从现在开始,假设该站点应该始终使用 HTTPS 访问”,因此即使在初始重定向之后也不会发生重定向。请谨慎使用,如果您有兴趣,请仔细阅读。
  • 我建议there are far tidier ways of writing 你的重写代码示例。
  • 如果 HTTPS 可用,没有理由不使用它。永远。

标签: .htaccess http redirect https pagespeed


【解决方案1】:

使用带有预加载选项的 HSTS:

  • 你的网页中任何一个带有HSTS header的网页被访问后,浏览器会自动使用https而不是http
  • 如果您在浏览器中预加载,即使用户写了http://yourwebsite.com : https://hstspreload.org/,即使第一个请求也会自动为 https

【讨论】:

    猜你喜欢
    • 2015-04-11
    • 2021-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 2017-06-23
    • 2011-10-31
    • 2018-12-19
    相关资源
    最近更新 更多