php脚本重定向代码问题
在检测到从搜索引擎到我的网站的搜索词后,我正在使用一个php脚本进行重定向 我的重定向代码工作正常 但对于一些关键问题,我想保持在同一页上。对于那几行代码,我在那几页中得到了一条警告信息php脚本重定向代码问题,php,redirect,Php,Redirect,在检测到从搜索引擎到我的网站的搜索词后,我正在使用一个php脚本进行重定向 我的重定向代码工作正常 但对于一些关键问题,我想保持在同一页上。对于那几行代码,我在那几页中得到了一条警告信息 Warning: headers already sent (output started at /home/friendsj/public_html/index.php:2) in /home/friendsj/public_html/index.php on li
Warning: headers already sent
(output started at /home/friendsj/public_html/index.php:2) in
/home/friendsj/public_html/index.php on line 20
下面是我在该页面中使用的代码
$ref=$_SERVER['HTTP_REFERER'];
if(strstr($ref,"test")){
$url="http://www.howtomark.com/robgoyette.html";
}
else if(strstr($ref,"mu+word+gmail")){
$url="http://www.howtomark.com/marketbetter.html";
}
else{
if(strstr($ref,"how+to+market+better")){
}
}
if($url !=""){
header("Location:$url");
}
删除从索引第2行开始的任何输出。php删除从索引第2行开始的任何输出。php重定向是通过设置HTTP标头来完成的,正如使用
header()
函数所建议的那样。这意味着您只能在开始文档输出之前重定向。无论您在第2行开始打印什么,请稍后再打印;-) 重定向是通过设置HTTP头来完成的,正如使用header()
函数所建议的那样。这意味着您只能在开始文档输出之前重定向。无论您在第2行开始打印什么,请稍后再打印;-) 如果您正在使用Header函数,则在调用该函数之前,不允许您输出某些内容
在您的例子中,您在index.php的第2行中编写了一些要输出的内容
一个糟糕的解决方法是使用输出缓存函数ob_start。
但这不是一个真正的解决方案。如果您使用Header函数,则在调用该函数之前,不允许您输出某些内容 在您的例子中,您在index.php的第2行中编写了一些要输出的内容 一个糟糕的解决方法是使用输出缓存函数ob_start。 但这不是一个真正的解决方案。试试这个
<?php ob_start();
$ref='some text goes here';
if(strstr($ref,"test")){
$url="http://www.howtomark.com/robgoyette.html";
}
else if(strstr($ref,"mu+word+gmail")){
$url="http://www.howtomark.com/marketbetter.html";
}
else{
if(strstr($ref,"how+to+market+better")){
}
}
if(isset($url) && !empty($url)) {
header("location:$url");
}
ob_flush();
?>
试试这个
<?php ob_start();
$ref='some text goes here';
if(strstr($ref,"test")){
$url="http://www.howtomark.com/robgoyette.html";
}
else if(strstr($ref,"mu+word+gmail")){
$url="http://www.howtomark.com/marketbetter.html";
}
else{
if(strstr($ref,"how+to+market+better")){
}
}
if(isset($url) && !empty($url)) {
header("location:$url");
}
ob_flush();
?>
您可以使用“0101010”按钮格式化代码。否则,它将不可读。另外,请检查文件结尾“>”后的U r not Left(不留任何空格)。您可以使用“0101010”按钮格式化代码。否则,它将不可读。另外,请检查“>”之后的文件结尾处是否留有任何空格。为什么输出缓存函数不是真正的解决方案?@Manos:因为更好的方法是治愈疾病,而不仅仅是隐藏症状。zerkms在一个错误的社区,我们需要一个程序员来解释:)@zerkms这种“疾病”在更大的应用程序中是不可避免的,尤其是在OO框架中,你不知道控制器会尝试做什么/什么时候做。使用输出缓冲是一种完全可以接受的策略。事实上,这通常是不可避免的。@Manos Dilaverakis:1。他的剧本有10行。2.OO框架总是使用责任链/截获过滤器/请求-响应的思想,所以我们永远不能直接进行回送,因为我们有“响应”对象与用户交互。ob_*是非常丑陋和蹩脚的策略为什么输出缓存函数不是真正的解决方案?@Manos:因为更好的方法是治愈疾病,而不仅仅是隐藏症状。zerkms在一个错误的社区,我们需要一个程序员来解释:)@zerkms这种“疾病”在更大的应用程序中是不可避免的,尤其是在OO框架中,你不知道控制器会尝试做什么/什么时候做。使用输出缓冲是一种完全可以接受的策略。事实上,这通常是不可避免的。@Manos Dilaverakis:1。他的剧本有10行。2.OO框架总是使用责任链/截获过滤器/请求-响应的思想,所以我们永远不能直接进行回送,因为我们有“响应”对象与用户交互。ob_*是非常丑陋和蹩脚的策略