【问题标题】:SSL script issueSSL 脚本问题
【发布时间】:2015-02-02 20:05:00
【问题描述】:

我目前正在使用这个 htaccess 代码来强制所有用户使用 ssl:

RewriteEngine On
RewriteCond %{HTTPS} !on
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

但是我的网站使用了许多脚本来加载各种图像,我得到了很多像这样的错误:

Mixed Content: The page at 'https://website.com/' was loaded over HTTPS, but requested an insecure image 'http://website.com/3.jpg'. This content should also be served over HTTPS.

有没有办法强制脚本加载 https 图像或者我必须手动编辑它们?

【问题讨论】:

  • mod_rewrite 正则表达式不使用=!=onNOT the string '=on'。你只想要!on,字面意思是NOT 'on'
  • 您必须手动编辑它们。它不会更改您页面上的硬编码链接。如果您现在使用https,您需要相应地更新您的链接,否则您将收到不安全的警告。我的意思是网络开发人员必须做的事情。 :) 你不能让你的页面也通过 https 请求加载 http 内容。

标签: apache ssl scripting


【解决方案1】:

您必须手动编辑它们。当然,如果有任何这些资源,我。 e.除了你的其他来源,没有 https-alternatives,你总是会得到错误。对于某些浏览器的较新版本,这些脚本实际上会被阻止,并且根本不会加载。

【讨论】:

    【解决方案2】:

    您可以编辑脚本 URL 以使用协议相对格式。现代浏览器知道它们应该使用您在调用页面中使用的任何协议(https 或 http)加载脚本。

    例子:

    更改<script src=”https://ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js” type=”text/javascript”></script>

    <script src=”//ajax.microsoft.com/ajax/jquery/jquery-1.3.2.min.js” type=”text/javascript”></script>

    文章解释: http://blog.httpwatch.com/2010/02/10/using-protocol-relative-urls-to-switch-between-http-and-https/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-16
      • 1970-01-01
      • 1970-01-01
      • 2019-03-11
      • 2011-03-18
      • 2013-04-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多