【问题标题】:convert mix content http to https将混合内容 http 转换为 https
【发布时间】:2018-04-23 14:36:25
【问题描述】:

我最近在我的网站上添加了一个 ssl 证书。现在的问题是图像、字体等一些元素是在"src=http://example.com/jpg" 标签中使用http 的外部内容。

我知道我可以通过将元素标签中的http 替换为https 来解决问题,但我至少有133 个网页需要手动完成。

我还有其他选择吗?

我可以使用.htaccess 解决这个问题吗?

注意 - 我正在使用 cpanel 托管

【问题讨论】:

  • 当然有办法;例如,参见.htaccess redirect http to https。不过我不推荐它,它会引起混乱。将“http”替换为“https”会更加直接且可维护。
  • 这只是强制 HTTPs @MrLister - 我认为 OP 指的是他们已编码到站点中的链接。因此,即使站点是 HTTP,请求也会以 HTTP 加载,从而导致连接不安全。所以真的我认为你需要手动更改那些你已经编码的链接。
  • @Lag 这也是我所指的;如果我模棱两可,我深表歉意。
  • 是的,我说的是网站中编码的链接
  • 在这种情况下,Arp,很抱歉告诉您,您最好手动更改它们。由于它们是编码的,因此没有真正的方法可以对此进行批量更改。无论如何都不是通过.htaccess。也许如果你写了一个脚本来为你做这件事,那么也许你可以自动化它。

标签: html .htaccess http ssl ssl-certificate


【解决方案1】:

.htaccess 在这里不会为您提供帮助,因为它用于将网站中的 http 重定向到 https

由于您使用的是 cpanel,这意味着您无权访问您的根服务器,因此您唯一的选择是手动将 http 转换为 https

【讨论】:

    【解决方案2】:

    试试这个

    RewriteEngine On
    
    ### WWW & HTTPS
    
    # ensure www.
    RewriteCond %{HTTP_HOST} !^www\. [NC]
    RewriteRule ^ https://www.%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    # ensure https
    RewriteCond %{HTTP:X-Forwarded-Proto} !https
    RewriteCond %{HTTPS} off
    RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
    
    ### WWW & HTTPS
    

    【讨论】:

      猜你喜欢
      • 2015-12-04
      • 1970-01-01
      • 2016-04-16
      • 2020-08-18
      • 1970-01-01
      • 2016-09-04
      • 2015-08-13
      • 2021-08-03
      相关资源
      最近更新 更多