[英]PHP Header Location Doesn't work - Mobile Redirection Script in Wordpress
我在互联网上的各个地方都找到了此代码,但我不知何故无法使用它。
<?php
header("Location: http://hdwbin.com/cute-brown-cat.html");
exit;
?>
我将此代码作为test.php上传到2个不同的主机,并且都不会重定向。 在第二台主机上,我从Wordpress主题编辑了header.php文件,因此在标题发生之前,没有其他代码显示给客户端。
1主机:不返回任何结果。
2主机:502错误的网关服务器返回了无效或不完整的响应。
任何想法或建议将不胜感激!
您的原始代码确实可以在我的主机上工作。 如果将其放置在WordPress主题header.php中,则可能已经发送了一些标头,并且此时无法修改标头。
与“标题已发送”中的错误有关。 我认为ob_flush()将解决此问题。 请参考http://php.net/manual/en/function.ob-flush.php
尝试:
<?php
die(header("Location: http://hdwbin.com/cute-brown-cat.html");
?>
此代码直接重定向到URL,而不返回任何数据。
我假设您真的不希望在每个请求的标头中都对此进行处理。
使用WordPress wp_redirect()函数执行重定向。 它会处理一些额外的检查,以检查其清理和IIS的兼容性。
在发送任何标头之前运行的init
挂钩中执行重定向:
add_action( 'init', function () {
wp_redirect( 'http://hdwbin.com/cute-brown-cat.html', 301 );
exit;
} );
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.