如何使用.htaccess或PHP使所有HTTP请求通过HTTPS

如何使用.htaccess或PHP使所有HTTP请求通过HTTPS,php,.htaccess,Php,.htaccess,好的,这是我的问题,我有一个通过https传递的文件,我服务器上的所有文件都有一个公共header.php文件,包含在文件中。在头文件中,我从cdn文件夹调用了所有样式表等。因为它们在我的https文件中被称为http(通过header.php),所以它不能完全以https传输 有没有一种方法可以让htaccess通过https在https页面上进行所有事务,即使它试图获取http版本?还是我最好用PHP编写它 谢谢只需从所有URL中删除http:。它将使用http或https,具体取决于网页

好的,这是我的问题,我有一个通过https传递的文件,我服务器上的所有文件都有一个公共header.php文件,包含在文件中。在头文件中,我从cdn文件夹调用了所有样式表等。因为它们在我的https文件中被称为http(通过header.php),所以它不能完全以https传输

有没有一种方法可以让htaccess通过https在https页面上进行所有事务,即使它试图获取http版本?还是我最好用PHP编写它


谢谢

只需从所有URL中删除http:。它将使用http或https,具体取决于网页使用的协议。

这实际上不是服务器配置问题。您需要做的是确保服务器返回所有外部资源(css、javascript和图像)位置的“https”

使用公共头文件的最佳选择是使用相对URL(无http(s)://example.com/),并让浏览器确定应使用的协议

如果css等位于不同的域,那么我只需检测正在使用的协议,并在将其返回给用户之前在html中对协议进行处理


或者你可以在任何地方使用HTTPS;0)

是的,但问题出在这里,因为css/js和其他东西位于不同的子域(cdn.domain.com)如果我删除http://并只留下cdn.domain.com/css/css.css,它看起来就像是一条相对的路径。我可能不得不坚持用PHP做它,他是说保持它的原样//cdn.domain.com,浏览器将决定协议是的,我想这也是应该的,谢谢。用这个