2017-05-08 76 views
2

我知道有很多關於PHP headers()的問題,但是我找不到任何具體解決我基於我非常簡單的代碼片段的問題。PHP頭(位置:)卡在重定向循環

我的問題

所以我有這個非常簡單的代碼

$url = $_SERVER['REQUEST_URI']; 
    $profile = explode('/', $url); 
    if ($profile[3] == 'index2.php') { 
     // echo $profile[3] prints index2.php 
     header('Location: profile.php'); 
     exit(); 
    } 

如下面的代碼結果在圖像上無限重定向循環可以看出。

當我設置像header('Location: http://localhost:63342/mvc2.0/users/profile.php');絕對url我仍然得到完全相同的問題。當我去無痕或使用不同的瀏覽器我仍然得到同樣的問題...

enter image description here

如果有人能爲我提供一些信息或建議,我在做什麼錯了,將不勝感激。

+0

這是您真正的代碼?如果它意味着在回聲之後,你會錯過分號';'。 – Nawin

+0

profile.php重定向到profile.php?這將卡住你在重定向循環 – Demonyowh

+0

對不起復制粘貼錯誤 – Marilee

回答

2

你也許可以簡化到

$profile=basename($_SERVER['REQUEST_URI']); 
if ($profile == 'index2.php') { 
    exit(header('Location: profile.php')); 
} 
+0

非常感謝你 - 請仔細閱讀' basename()'函數。將在時間到期後接受 – Marilee