2010-08-27 53 views
0

好的这是我的问题我有一个文件通过https传递,我的服务器上的所有文件都有一个共同的header.php文件包含在文件中。在头文件中,我有我的所有样式表等从我的cdn文件夹中调用。 http://cdn.domain.com,因为它们在我的https文件中被称为http(通过header.php),它不会在https中完全传输。如何使所有HTTP请求通过HTTPS使用.htaccess或PHP

有没有办法有htaccess的通过HTTPS进行HTTPS网页上的所有交易,即使它正在试图获得的HTTP版本?或者,我最好在PHP中编码它?

谢谢

回答

1

这不是一个真正的服务器配置问题。你需要做的是确保服务器返回所有外部资源位置的“https”(css,javascript &图片)。

与共同的头文件最好的办法是使用相对URL(无http://example.com/),并让浏览器确定应该使用的协议。

如果css等人在不同的域上,那么我只需检测正在使用的协议并在将html返回给用户之前遵循协议。

或者你也可以只使用HTTPS无处不在; 0)

+0

大声笑是啊,我想这就是它会下降,谢谢。 使用此 <?php $ protocol =(!empty($ _ SERVER ['HTTPS']))? “https://”:“http://”; ?> – 2010-08-27 21:42:25

0

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

+0

啊,但这里的问题,因为CSS/JS和东西都在一个不同的子域(cdn.domain.com)如果我删除HTTP://和公正离开cdn.domain.com/css/css.css它使它看起来像一个相对路径。 – 2010-08-27 19:48:13

+0

我可能只需要坚持在PHP <?php $ protocol =(!empty($ _ SERVER ['HTTPS']))? “https://”:“http://”; ?> – 2010-08-27 19:52:25

+1

他的意思是保持它像//cdn.domain.com和浏览器将决定协议 – 2011-07-03 07:54:35

相关问题