Php 将http流量重定向到https,避免混合内容警告
我有一个最近安装了SSL证书的站点。Php 将http流量重定向到https,避免混合内容警告,php,.htaccess,ssl,ssl-certificate,Php,.htaccess,Ssl,Ssl Certificate,我有一个最近安装了SSL证书的站点。.htaccess文件目前强制所有流量使用http,整个站点有许多硬编码链接,包括对css和javascript文件的引用 将.htaccess文件更改为将所有流量重定向到https是否安全?我猜这会给我混合内容警告,因为一些链接将通过http而不是https提供 我在想,在更改.htaccess文件之前,最好先更改所有指向src=“///www.mysite.com”的链接。我很感激更新httpd.conf文件以包含SSL更改是更好的做法,我只是不想破坏实时
.htaccess
文件目前强制所有流量使用http
,整个站点有许多硬编码链接,包括对css
和javascript
文件的引用
将.htaccess
文件更改为将所有流量重定向到https
是否安全?我猜这会给我混合内容警告,因为一些链接将通过http
而不是https
提供
我在想,在更改.htaccess
文件之前,最好先更改所有指向src=“///www.mysite.com”
的链接。我很感激更新httpd.conf文件以包含SSL更改是更好的做法,我只是不想破坏实时站点
我还注意到,有时候刷新页面时,并不总是下载css
和javascript
更改,但是如果我查看页面源代码并单击它下载的源文件,那么站点工作正常。很明显,我想在上线时避免这种情况
前进的最佳途径是什么 仅仅更改.htaccess重定向到https并不能解决您的问题。浏览器可能仍然会看到html中的http,并产生混合内容警告 您必须浏览模板,然后切换到相对链接、//或https:// 静态css和js文件不会立即更新,这是因为浏览器会缓存这些文件 在开发过程中,可以使用ctrl+F5对页面进行硬刷新,以从服务器获取新副本 第一种解决方案是在文件URL中附加类似于?v=1的内容。这将在每次更改版本时强制下载文件。 但请记住,旧浏览器可能根本不会缓存带有GET参数的文件 超级安全的方法是在url的静态端设置版本 比如/js/assets.v1.js 手动执行这些选项中的任何一个都可能是乏味的,但它将是有效的
有一些工具可以在每次构建资产时自动执行此操作,但您可能需要修改模板才能使其正常工作。这实际上取决于您使用的是什么。由于您有SSL证书,请将所有
http
请求重定向到https
。您还应该明确并在整个应用程序中使用https://
(在所有链接href
,脚本src
,img src
等中)。使用相关协议(只是<代码> //< /代码>)是因为所有的流量都被推荐通过