PHP利用header跳轉失效的解決方法

2022-10-09 18:30:10 字數 571 閱讀 7877

一、問題:

今天header(\"location: $url\"),以往跳轉總是可以的,今天卻不動,只是輸出結果,以往自己要確認檢查,$url的值獲取的是否正確,所以在前面加了echo $url;來除錯用,結果就導致了header函式的無效.

二、解決方法:

在php中用header("location:test.php")進行跳轉要注意以下幾點:

1、location和「:」號間不能有空格,否則會出錯.

2、在用header前不能有任何的輸出,包括include的頁面中標籤「?>」後不能有空格.

3、header後的php**還會被執行.

php的 header 跳轉之前不能有任何內容輸出,因為php開始執行的時候就已經向瀏覽器送出http頭資訊,之後就不再允許更改了.

但是如果必須要在輸出之後再處理header資訊的話可以使用 ob_start() ob_end_flush() 來快取一下要傳送的內容,等到header繼續再傳送內容.

或者乙個更簡單的辦法,修改php.ini,找到 output_buffering=off 修改為 output_buffering=4096.

header 無法實現跳轉

方法 php.ini檔案中修改output buffering on,重啟apache,重新整理 比如以下這段php無法修改header資訊的錯誤警告 warning cannot modify header information headers already sent by 我們在剛剛開始編寫...

php常用header狀態

200 正常狀態 301 永久重定向,記得在後面要加重定向位址 location url 重定向,其實就是302 暫時重定向 header location 設定頁面304 沒有修改 顯示登入框,header www authenticate basic realm 登入資訊 echo 顯示的資訊!...

php常見header狀態

200 正常狀態 301 永久重定向,記得在後面要加重定向位址 location url 重定向,其實就是302 暫時重定向 header location 設定頁面304 沒有修改 顯示登入框,header www authenticate basic realm 登入資訊 echo 顯示的資訊!...