我有一个最近安装了SSL证书的站点。 .htaccess
文件当前强制所有流量使用http
,并且该站点上有许多硬编码链接,包括对css
和javascript
文件的引用。
仅更改.htaccess
文件以将所有流量重定向到https
是否安全?我猜测这会给我混合的内容警告,因为某些链接将通过http
而不是https
提供。
我认为也许最好先更改指向src="//www.mysite.com"
的所有链接,然后再更改.htaccess
文件。我知道最好将httpd.conf文件更新为包含SSL更改,我只是不想破坏在线站点。
我还注意到,有时刷新页面时并非总是下载css
和javascript
的更改,但是如果我查看页面源代码并单击源文件下载,则站点可以正常工作。显然,上线时我想避免这种情况。
最好的前进方向是什么?
答案 0 :(得分:1)
仅将.htaccess更改为重定向到https并不能解决您的问题。浏览器可能仍会在html内看到http并产生混合内容警告。
您将必须遍历模板,然后切换到相对链接,或者切换到//或https://
您的静态css和js文件不会立即更新的事实是因为浏览器会缓存此类文件。
在开发期间,您可以使用ctrl + F5硬刷新页面以从服务器获取新副本。
第一个解决方案是在文件URL后面附加?v = 1之类的内容。每次更改版本时,这将强制下载文件。 但是请记住,旧的浏览器可能根本不缓存带有GET参数的文件。
一种超级安全的方法是将版本设置在网址的静态一侧。
就像/js/assets.v1.js
手动执行任何这些选项可能很乏味,但是会有效。
有一些工具可以在每次构建资产时自动执行此操作,但是您可能不得不对其模板进行更多修改才能使其正常工作。确实取决于您使用的是什么。