Laravel HTTP vs HTTPS请求

问题描述:

我的Laravel网站部署在Heroku。例如,当我输入http://example.herokuapp.com - > UI保持不变。但是,当我使用https时,UI会乱跳并断开。Laravel HTTP vs HTTPS请求

我该如何解决这个问题?

+1

没有所有的脚本和CSS文件的使用HTTPS? – Jiro90

+2

显然你有一些http资源,如果主页面是https,它不会加载 - 建议你使用'// example.com/path/file.ext'代替'http://example.com/path/file。 ext'用于任何外部资源 –

+0

你如何引用你的css和js文件 – Kuru

您遇到问题混合内容,您可以了解更多关于它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”才能保证安全。 –