2010-08-27 119 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

相關問題