HTTP动态绝对路径

时间:2014-06-16 10:49:45

标签: css

我有一个解决方案,它将AWS Cloudfront CDN用于静态文件(例如:images,js和css)。在应用程序中,某些页面使用HTTP和HTTPS请求。这样,我的CSS文件具有绝对路径到CDN,并且在使用HTTPS请求时必须动态地将HTTP前缀更改为HTTPS,否则HTTPS会中断。

例如: 当我访问http://mydomain.com/page-a.php时,加载的CSS是:

    body{
      background: url("http://aws.cloudfront.com/image-for-page-a.png");
    }

但是,当我访问https://mydomain.com/page-a.php时(注意HTTPS请求),CSS必须在cloudfront HTTPS域中加载图像:

    body{
      background: url("https://aws.cloudfront.com/image-for-page-a.png");
    }

如何在CSS文件中将此请求从HTTP动态更改为HTTPS? 欢迎任何关于架构的建议。

感谢。

2 个答案:

答案 0 :(得分:0)

推送基于http或https的URL的动态特性需要在您的应用程序中编写。您已在运行时选择http或https,然后准备css或注入css,然后通过应用程序提供它。

实施起来有点棘手或平凡。我建议使用基于https的URL修改应用程序的更好方法。

实现此功能后,您的主应用程序可能是基于HTTP的,并且可以通过js / png / media传送。 HTTPS。明天,如果您决定使用所有应用程序https,则无需再次触摸此模块。

答案 1 :(得分:0)

使用方案相对网址:

body{
  background: url("//aws.cloudfront.com/image-for-page-a.png");
}