簡體   English   中英

PHPs會不會遵循301重定向?

[英]Will PHPs fopen follow 301 redirects?

我們有一段遺留代碼,(ab)通過HTTP使用fopen()調用資源:

@fopen('http://example.com')

我們想將example.com移動到另一台主機然后發送“301 Permanently Moved”,但是,我們並不完全確定@fopen()是否會遵循這一點。

初步測試表明它沒有。 但也許我會錯過一些配置文章。

從版本5.1.0開始,有max_redirects選項 ,這使得fopen HTTP包裝器遵循Location重定向:

要遵循的最大重定向數。 值1或更小意味着不遵循重定向。

默認為20。

您可能希望顯式設置它,以防您的配置禁用此功能。 從文檔修改的示例:

<?php

$url = 'http://www.example.com/';

$opts = array(
       'http' => array('method' => 'GET',
                       'max_redirects' => '20')
       );

$context = stream_context_create($opts);
$stream = fopen($url, 'r', false, $context);

// header information as well as meta data
// about the stream
var_dump(stream_get_meta_data($stream));

// actual data at $url
var_dump(stream_get_contents($stream));
fclose($stream);
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM