6
我们有一段遗留代码(ab)使用fopen()调用HTTP上的资源:@fopen('http://example.com')。PHPs会打开301重定向吗?
我们想将example.com移动到另一个主机,然后发送301永久移动。 但是,我们并不完全确定@fopen()是否会遵循这一点。初步测试表明,它没有。但也许我想念一些配置。
我们有一段遗留代码(ab)使用fopen()调用HTTP上的资源:@fopen('http://example.com')。PHPs会打开301重定向吗?
我们想将example.com移动到另一个主机,然后发送301永久移动。 但是,我们并不完全确定@fopen()是否会遵循这一点。初步测试表明,它没有。但也许我想念一些配置。
自5.1.0版本,还有的max_redirects option,这使得则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);
?>
我预见到了将来的重构! – Stephen 2010-07-20 12:00:53
当然。这个重定向是这个重构的第一步,实际上:) – berkes 2010-07-20 12:14:59