将HTTP流量重定向到https,避免出现混合内容警告

时间:2018-07-11 12:54:07

标签: php .htaccess ssl ssl-certificate

我有一个最近安装了SSL证书的站点。 .htaccess文件当前强制所有流量使用http,并且该站点上有许多硬编码链接,包括对cssjavascript文件的引用。

仅更改.htaccess文件以将所有流量重定向到https是否安全?我猜测这会给我混合的内容警告,因为某些链接将通过http而不是https提供。

我认为也许最好先更改指向src="//www.mysite.com"的所有链接,然后再更改.htaccess文件。我知道最好将httpd.conf文件更新为包含SSL更改,我只是不想破坏在线站点。

我还注意到,有时刷新页面时并非总是下载cssjavascript的更改,但是如果我查看页面源代码并单击源文件下载,则站点可以正常工作。显然,上线时我想避免这种情况。

最好的前进方向是什么?

1 个答案:

答案 0 :(得分:1)

仅将.htaccess更改为重定向到https并不能解决您的问题。浏览器可能仍会在html内看到http并产生混合内容警告。

您将必须遍历模板,然后切换到相对链接,或者切换到//或https://

您的静态css和js文件不会立即更新的事实是因为浏览器会缓存此类文件。

在开发期间,您可以使用ctrl + F5硬刷新页面以从服务器获取新副本。

第一个解决方案是在文件URL后面附加?v = 1之类的内容。每次更改版本时,这将强制下载文件。 但是请记住,旧的浏览器可能根本不缓存带有GET参数的文件。

一种超级安全的方法是将版本设置在网址的静态一侧。

就像/js/assets.v1.js

手动执行任何这些选项可能很乏味,但是会有效。

有一些工具可以在每次构建资产时自动执行此操作,但是您可能不得不对其模板进行更多修改才能使其正常工作。确实取决于您使用的是什么。