【问题标题】:Basic Site Missing Elements after Migration迁移后基本站点缺失元素
【发布时间】:2021-06-03 00:44:49
【问题描述】:

我刚刚将我们的网站迁移到了一个新服务器,在这样做之后,该网站缺少背景和一堆元素。我真的对 PHP 知之甚少,但从我的新手诊断来看,在我看来它可能在那个配置中。

网站是-https://amandabernstein.com/

任何能指出我解决这个问题甚至诊断的方向的东西都会很棒。服务器是 Cpanel 现在是 Plesk。

提前致谢。

【问题讨论】:

  • 现代浏览器有错误控制台,当事情出错/没有按预期工作时,它通常可以告诉你很多。如果您在此实例中检查过它([f12] 通常是打开它的快捷方式),您会看到几个警告/错误,类似于 “混合内容:'' 处的页面是通过 HTTPS 加载,但请求了不安全的样式表“”。此请求已被阻止;内容必须通过 HTTPS 提供。”
  • 嗨 Cbroe,谢谢你是正确的,确实 F12 应该是第一个停靠港,下次会。祝你有美好的一天

标签: php .htaccess nginx migration


【解决方案1】:

问题是当通过 HTTPS 查看站点时,您正试图通过 HTTP 加载静态资源 - 浏览器触发混合内容警告并阻止资源。您的网站目前尚未支持 HTTPS。

这并不是专门针对“迁移”,而是因为您正在重定向到 HTTPS。

当您迁移到 HTTPS 时,其他所有内容也必须是 HTTPS - HTTPS 无处不在 - 而不仅仅是您在浏览器地址栏中看到的主要目标 URL。

您的资源 URL 中可能有 http:// 硬编码。这个需要改成https://

现代浏览器上,您可以在初始响应中设置以下 HTTP 响应标头,以指示浏览器自动将 HTTP 请求升级为 HTTPS,从而避免出现此浏览器警告。

Content-Security-Policy: upgrade-insecure-requests;

例如,您可以在.htaccess 中使用以下指令进行设置:

Header always set Content-Security-Policy "upgrade-insecure-requests;"

但请注意,这不会升级任何出站锚点或帮助不支持此标头的旧浏览器。

【讨论】:

  • 嗨 MrWhite,首先非常感谢您的回复。以下确实有效,其余内容已加载,我无需手动编辑任何内容,只需将上述内容添加到 .htaccess 中,它就可以正常工作,这很棒。祝您有美好的一天。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-11-22
  • 1970-01-01
相关资源
最近更新 更多