Laravel HTTP vs HTTPS请求
问题描述:
我的Laravel网站部署在Heroku。例如,当我输入http://example.herokuapp.com
- > UI保持不变。但是,当我使用https
时,UI会乱跳并断开。Laravel HTTP vs HTTPS请求
我该如何解决这个问题?
答
您遇到问题混合内容,您可以了解更多关于它here。当初始HTML被加载通过安全的HTTPS连接发生
混合内容
混合内容,但是其它的资源(如图片,视频,样式表,脚本)被装载在一个不安全的HTTP连接。
解决方案
要解决此问题,只需使用//
,而不是定义特定的协议引用您的所有脚本,样式等。在这种情况下,资源将始终使用与页面本身相同的协议加载。
- 老:
<img src="http://example.com/picture.jpg">
- 新:
<img src="//example.com/picture.jpg">
答
正如大家说的,那是因为你必须在HTTP协议下载的一些资产,您的域名是HTTPS。
我的建议是,你使用资产():
<img src="{{ asset('images/my-image.png') }}">
<link href="{{ asset('css/my-styles.css') }}" rel="stylesheet">
<script src="{{ asset('js/my-script.js') }}"></script>
+0
第二个参数需要是“true”才能保证安全。 –
没有所有的脚本和CSS文件的使用HTTPS? – Jiro90
显然你有一些http资源,如果主页面是https,它不会加载 - 建议你使用'// example.com/path/file.ext'代替'http://example.com/path/file。 ext'用于任何外部资源 –
你如何引用你的css和js文件 – Kuru