【发布时间】:2019-11-19 17:15:05
【问题描述】:
我有一个内部调用脚本和 CSS 的网站:
<link href="css/bootstrap.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="css/slick.css">
<link href="css/style.css" rel="stylesheet" type="text/css" />
<link href="css/responsive.css" rel="stylesheet" type="text/css" />
<script src="js/jquery-1.12.4.min.js" type="text/javascript"></script>
<script src="js/jquery-easing.min.js" type="text/javascript"></script>
<script src="js/bootstrap.min.js" type="text/javascript"></script>
<script src="js/imageLoader-global.js"></script>
<script src="js/slick.js"></script>
<script src="js/TweenMax.min.js"></script>
<script src="js/ScrollMagic.min.js"></script>
<script src="js/animation.gsap.min.js"></script>
<script src="js/animation.js" type="text/javascript"></script>
<script src="js/vivus.min.js" type="text/javascript"></script>
<script src="js/slick.js" type="text/javascript"></script>
<script src="js/script.js" type="text/javascript"></script>
网站在 HTTPS 中打开,但是当我打开网站并检查 HTML 时,这些内部链接在 HTTP 中打开,这会导致混合内容并呈现一个看起来很糟糕的页面。
如何强制所有这些链接在 HTTPS 中打开?
这是我目前的 HTACCESS 文件:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
RewriteEngine On
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>
网站在 HTTPS 中打开,但上面的资源是在 HTTP 中加载的。
【问题讨论】:
-
您或许可以将您的服务器配置为尽可能将这些资源重定向到 HTTPS。 (我相信您的服务器可能会发送一个标头。)
-
在页面的源代码中查找HTTP,并在浏览器中查看媒体视图。相对链接不是混合内容警告的罪魁祸首。
标签: javascript html .htaccess https