我的网站最近安装了 SSL 证书。 .htaccess
文件目前强制所有流量使用 http
并且整个站点中有许多硬编码链接,包括对 css
和 javascript
文件。
仅更改 .htaccess
文件以将所有流量重定向到 https
是否安全?我猜这会给我混合内容警告,因为某些链接将通过 http
而不是 https
提供。
我在想也许最好先更改所有指向 src="//www.mysite.com"
的链接,然后再更改 .htaccess
文件。我很高兴更新 httpd.conf 文件以包含 SSL 更改是更好的做法,我只是不想破坏实时站点。
我还注意到,有时刷新页面时并不总是下载 css
和 javascript
更改,但如果我查看页面源并单击源文件,它下载和网站工作正常。显然我想在直播时避免这种情况。
最好的前进方向是什么?
最佳答案
只是将 .htaccess 更改为重定向到 https 并不能解决您的问题。浏览器可能仍会在您的 html 中看到 http 并产生混合内容警告。
您将必须浏览您的模板并切换到相关链接,或者切换到//或 https://
您的静态 css 和 js 文件没有立即更新的事实是因为浏览器缓存了这些文件。
在开发期间,您可以使用 ctrl+F5 硬刷新页面以从服务器获取新副本。
第一个解决方案是将 ?v=1 之类的内容附加到文件 url。这将强制在每次更改版本时下载文件。 但请记住,旧浏览器可能根本不会缓存带有 GET 参数的文件。
super 安全的方法是在 url 的静态端设置版本。
喜欢/js/assets.v1.js
手动执行任何这些选项可能很乏味,但它会很有效。
有些工具可以在您每次构建 Assets 时自动执行此操作,但您可能需要对模板进行更多修改才能使其正常工作。这实际上取决于您使用的是什么。
关于php - 将 http 流量重定向到 https 并避免混合内容警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51285997/