相对路径的SSL?

时间:2017-05-15 15:43:14

标签: apache .htaccess ssl web https

我注意到在使用HTTPS访问网站时,在尝试从相对路径中包含CSS或JS文件时,我在JS控制台中出现错误:

<link rel="stylesheet" type="text/css" href="css/demo.css?id=14" />
  

混合内容:&#39; https://mysiste.com/&#39;是通过HTTPS加载的,但是请求了一个不安全的样式表&#39; http://mysiste.com/css/demo.css?id=14&#39;。此请求已被阻止;内容必须通过HTTPS提供。

这种情况的理想解决方案是什么?

  • 我应该强制将所有HTTP访问强制重定向到HTTPS吗?
  • 或者有没有办法告诉服务器使用HTTPS提供所有相对路径?

1 个答案:

答案 0 :(得分:3)

相对链接将使用基本URL中的协议和主机。基本URL通常是可以在URL栏中看到的URL。但是可以使用base tag显式更改基本URL。

这意味着如果你的页面中有一个http为协议集的基本URL,它仍将使用http而不是https,即使你已经使用https访问该站点并且引用是相对的,例如:

<base href="http://example.com/">

要解决此问题,请删除基本标记或将其更改为使用https而不是http:

<base href="https://example.com">