【问题标题】:How to enforce https from htaccess?如何从 htaccess 强制执行 https?
【发布时间】:2013-10-25 12:04:46
【问题描述】:

每次加载登录站点节点时,我都必须强制执行 https。 例如,http://www.mysite.com/sign-in 应始终强制为 https。

我尝试了多个版本,但都没有奏效。这是我第一次使用.htaccess

这是我尝试过的:

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteCond %{REQUEST_URI} sign-in
RewriteRule ^(.*)$ https://%{SERVER_NAME}%{REQUEST_URI}/$1 [R,L]

【问题讨论】:

    标签: .htaccess redirect https resin


    【解决方案1】:

    我解决了:

    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{REQUEST_URI} /sign-in
    RewriteRule !(.*)lbping(.*) https://%{SERVER_NAME}%{REQUEST_URI} [L,R]
    

    【讨论】:

      【解决方案2】:

      您不应该在重写的 URL 中同时使用 %{REQUEST_URI}$1

      你可以试试这个代码:

      RewriteCond %{HTTPS} off
      RewriteRule sign-in https://%{HTTP_HOST}%{REQUEST_URI} [L,NC,R=301]
      

      【讨论】:

      • 也试过了,还是不行。可能是因为登录后有一些请求参数?
      • 没有参数没关系。可以在浏览器中直接访问https://site.com/sign-in吗?
      • 然后确保这个 .htaccess 和 mod_rewrite 被启用并且这个规则首先是你的RewriteEngine On
      猜你喜欢
      • 1970-01-01
      • 2017-05-24
      • 1970-01-01
      • 2012-06-17
      • 1970-01-01
      • 2019-04-20
      • 1970-01-01
      • 1970-01-01
      • 2012-02-02
      相关资源
      最近更新 更多