Php

PHP標頭重定向在nginx中工作,甚至發送輸出

  • August 11, 2018

注意:有一個類似的問題,但那是關於 Apache 的。

以下程式碼

<?php
echo '.';
header('Location: http://stackoverflow.com');

在 nginx 0.7.67 下完全“工作”,其中“工作”意味著 php 重定向工作正常,在錯誤日誌中沒有錯誤或顯示..

如何強制 nginx 或 php-fpm 拋出PHP Warning: Cannot modify header information - headers already sent by警告?

您應該檢查output_bufferingphp.ini 文件中的參數值。

php.ini #輸出緩衝

我遇到了同樣的問題,我發現這是因為header("Status: 200 OK", false, 200);在標頭重定向之前。因此,如果我知道我必須重定向,我添加了一個不顯示標題 200 的條件:

if(!isset($_GET['utm_source'])) { //Header will be Redirect 301 from global_cookies.inc.php
   header("Status: 200 OK", false, 200);
}

注意:使用 Apache 我沒有這個問題,即使在標頭 200 之後也可以重定向。

引用自:https://serverfault.com/questions/413245