用於決定網站URL 協定的PHP 函數
決定根據網站的URL 協定(HTTP 與HTTPS),您可以使用以下PHP 函數:
<code class="php">function siteURL() { if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { $protocol = 'https://'; } else { $protocol = 'http://'; } $domainName = $_SERVER['HTTP_HOST'].'/'; return $protocol.$domainName; } define( 'SITE_URL', siteURL() );</code>
與簡化函數的比較
您建議的簡化函數:
<code class="php">function siteURL() { $protocol = 'http://'; $domainName = $_SERVER['HTTP_HOST'].'/'; return $protocol.$domainName; } define( 'SITE_URL', siteURL() );</code>
不如第一個功能全面。在 HTTPS 下,伺服器可能會自動將 URL 轉換為 HTTPS,但檢查協定的向後相容性並與可能無法正確處理 HTTPS 的網站一起使用仍然是一個很好的做法。
伺服器轉換為HTTPS
雖然伺服器可能會自動將 URL 轉換為 HTTPS,但這並不能保證。驗證協定可確保不同配置和場景(包括本機開發和虛擬託管)的行為一致。
協議檢查的重要性
檢查協議可以讓您正確建立各種上下文中站點的URL,例如:
以上是以下是一些適合您文章的基於問題的標題: * HTTP 還是 HTTPS?如何在 PHP 中確定網站的 URL 協議 * 安全連線:為什麼您需要檢查網站的 URL 協議的詳細內容。更多資訊請關注PHP中文網其他相關文章!