繁体   English   中英

PHP标头位置不起作用-Wordpress中的移动重定向脚本

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM