2017-06-13 136 views
1

我對裝載我的模板得到一個問題,我曾試圖測試上XAMPP和同樣的問題,我的模板一些proplems再次PHP - 在檢測HTTPS協議

內部服務器錯誤

服務器發生遇到內部錯誤或配置錯誤,並且無法完成您的請求 。

請通過[email protected]至 與服務器管理員聯繫,通知他們發生此錯誤的時間以及您在此錯誤發生前執行的操作 。關於此錯誤的

的更多信息可以在服務器錯誤 log.`可

它並不顯示起初只是加載網頁任何東西,然後這個錯誤沒有了......請幫助,但對XAMPP它只是不斷加載我 網頁,但是當我試圖解決這個問題一段時間後,發現它並試圖解決它,但我需要一些幫助,請在固定其

$Domain = $_SERVER['HTTP_HOST']; 
$Path = $_SERVER['PHP_SELF']; 
if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) 
{ 
    echo '<script type="text/javascript">window.location.assign("https://' .$Domain.$Path. '");</script>'; 
} 
else 
{ 
    echo '<script type="text/javascript">window.location.assign("http://' .$Domain.$Path. '");</script>'; 
} 

之前造成它的代碼,請一些幫幫我 ???

回答

2

原因是因爲每次你的頁面加載腳本正在運行和刷新的網站層出不窮。您需要知道該頁面是否已被重定向。 例如:

<?php 
    if (!isset($_GET['r'])){ 
     $Domain = $_SERVER['HTTP_HOST']; 
     $Path = $_SERVER['PHP_SELF']; 
     if (!empty($_SERVER['HTTPS']) && ('on' == $_SERVER['HTTPS'])) 
     { 
      echo '<script type="text/javascript">window.location.assign("https://' .$Domain.$Path. '?r=https");</script>'; 
     } 
     else 
     { 
      echo '<script type="text/javascript">window.location.assign("http://' .$Domain.$Path. '?r=http");</script>'; 
     } 
    } 
?> 

我不明白這一點。而我會建議你使用位置,而不是。例如:

header('Location: http://www.example.com/'); 
+0

這工作表示感謝:D(但我已經使用會話和一些....) –

0

這是一種非常糟糕的重新加載頁面的方式。 下面的代碼重新加載無限,直到URL被修改...... 要了解這個網頁,運行下面的代碼...

$域= $ _ SERVER [「HTTP_HOST」]; $ Path = $ _SERVER ['PHP_SELF'];

如果(!空($ _ SERVER [ 'HTTPS'])& &( '上' == $ _ SERVER [ 'HTTPS'])){

echo 'HTTPS AVAILABLE'; 
    echo '<script type= "text/javascript">window.location.assign("https://' . $Domain .$Path. '");</script>'; 
} else { 



echo 'HTTPS NOT AVAILABLE '; 
echo '<script type="text/javascript">window.location.assign("http://' . $Domain .$Path.' ");</script>'; 

}

而網頁不斷加載,修改代碼至此

$Domain = $_SERVER['HTTP_HOST']; 
$Path = $_SERVER['PHP_SELF']; 

if(!空($ _ SERVER [ 'HTTPS'])& &( '上' == $ _ SERVER [ 'HTTPS'])){

echo 'HTTPS AVAILABLE'; 
echo '<script type="text/javascript">window.location.assign("https://' . $Domain . '");</script>'; 

}其他{

echo 'HTTPS NOT AVAILABLE '; 
echo '<script type="text/javascript">window.location.assign("http://' . $Domain .' ");</script>'; 

}

一旦保存,如果在本地計算機上運行,​​則會將您重定向到https://localhosthttp://localhost

如果url相同,則window.location.assign()會無限重新加載頁面。

+0

它的壞主意,以保持每次瀏覽器的主要索引模板,然後它會繼續重新加載頁面不再更多,如果你不是在代碼運行時檢查日誌記錄,並在它作爲@ ChristianG的回覆(已測試)運行之前檢查它。內部服務器錯誤爲我的原始Proplem。 –