簡體   English   中英

如何在 PHP 中將頁面重定向到 HTTPS?

[英]How to Redirect one page to HTTPS in PHP?

我正在嘗試使用以下代碼僅將我網站的索引頁面重定向到 HTTPS 版本,但它使domain.com redirected you too many timesERR_TOO_MANY_REDIRECTS錯誤。 除了 4XX 和 5XX 錯誤重定向之外, htaccess中沒有重定向代碼。

if($_SERVER['HTTPS'] !== "on")
  {
     $redirect= "https://".$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
     header("Location:$redirect");
  }

如何僅將一個頁面重定向到 HTTPS 而不會影響 PHP 中的其他 URL?

你的問題在這一行

if($_SERVER['HTTPS'] !== "on")

根據手冊

'HTTPS' :如果通過 HTTPS 協議查詢腳本,則設置為非空值。

所以只需使用

if(!$_SERVER['HTTPS'])

這是我對非 www 頁面進行重定向的代碼。 您可以輕松地將其調整為 https。

// redirect to www if necessary
$kc_ur_pos = stripos($_SERVER['HTTP_HOST'],'www.');

if ($kc_ur_pos === false) 
{ $kc_ur='https://www.';
$kc_ur .= $_SERVER['HTTP_HOST'];
    $HTTPURI = $kc_ur . $_SERVER['REQUEST_URI'];
    header("HTTP/1.1 301 Moved Permanently"); // Optional.
    header("Location: $HTTPURI");
    exit;}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM