2015-10-20 89 views
0

我需要覆蓋或刪除服務器響應中的內容語言標頭。刪除或覆蓋內容語言標頭php

我的頭默認:

Connection:"keep-alive" 
Content-Encoding:"gzip" 
Content-Language:"ru" 
Content-Type:"text/html; charset=utf-8" 
Date:"Tue, 20 Oct 2015 08:15:47 GMT" 
Server:"nginx" 
Transfer-Encoding:"chunked" 
X-Powered-By:"PHP/5.4.21" 

「X供電,通過」報頭可以通過使用

header_remove("X-Powered-By"); 

被刪除,但對於內容語言這不工作。

如果PHP腳本由

header('Content-Language: uk'); 

服務器性反應的標題中定義的報頭是Content-Language:"ru,uk"

萬一:

header('Content-Language: uk'); 
header_remove("Content-Language"); 
header('Content-Language: uk'); 

性反應的報頭是相同的:Content-Language:"ru,uk"

如何獲得標題Content-Language:"uk"沒有默認值ru的值?

回答

0

headers_sent表示現在刪除標頭爲時已晚。他們已經發送。試試這個:

if (!headers_sent()) { 
    foreach (headers_list() as $header) 
     header_remove($header); 
    } 
} 
header('Content-Language: uk'); 

我不是nginx的專家,但也許你需要改變nginx的一些設置,像有php.ini的IM PHP。

+0

只有在此代碼爲Content-Language:「ru,uk」後纔會更改,因此「ru」仍然存在。我不知道什麼是Content-Language頭部的負責人,是nginx還是php。 – Nick

+0

我有編輯答案。 – fico7489