我正在尝试根据其引荐来重定向到页面。布局就像
<?php
$URL_REF = $_SERVER['HTTP_REFERER'];
if($URL_REF == "url of my site") {
header("Location: url of another site");
exit();
}
else {
header("Location: my home page");
exit();
}
?>
我收到错误:Cannot modify header information - headers already sent by
。
我必须将我的php.ini修改为output_buffering = On但我不能这样做,因为我在hostgator中有一个共享主机帐户。 任何人都可以建议我现在有什么选择吗?我可以通过更改我的代码来实现吗?如果是,那么改变了什么?
答案 0 :(得分:1)
<?php
function custom_redirect() {
$URL_REF = $_SERVER['HTTP_REFERER'];
if($URL_REF == "url of my site") {
header("Location: url of another site");
exit();
}
else {
header("Location: my home page");
exit();
}
}
add_action('init','custom_redirect');
?>
尝试将您的功能挂钩到INIT HOOK
答案 1 :(得分:1)
嗨其实是标题(“位置:另一个网站的网址”);不会支持wordpress。而不是这个你可以使用
<?php wp_redirect( 'http://www.example.com', 301 ); exit; ?>
并且对于主页,只需使用<?php wp_redirect( home_url() ); exit; ?>
这将解决您的重定向问题。
答案 2 :(得分:0)
尝试使用javascript代替
<?php
$URL_REF = $_SERVER['HTTP_REFERER'];
if($URL_REF == "url of my site") {
?>
<script type="text/javascript">window.location = "http://www.yoururl.com";</script>
<?php
}
else {
?>
<script type="text/javascript">window.location = "http://www.anotherlocation.com";</script>
<?php
}
?>
检查参考here
答案 3 :(得分:0)
已发送的标题信息是wordpress的常见错误,就像您提到的要重定向网站,然后您必须选择要遵循。
创建wordpress模板文件不要在该文件中调用标题
<?php /* Template Name:Redirect*/ ?> <?php //get_header();?> <!-- Do not un comment this function -->Write your code here Write your code here Write your code here
Write your code here <?php get_footer();?>
或者您可以使用java脚本的window.location函数重定向
<script>document.write(location.http://google.com);
</script>