我无法在服务器上使用标头位置,但是当我在本地主机上运行脚本时,一切正常。似乎服务器未运行此行。
header('location:index.php');
使用php 7.2运行linux堆栈的服务器,使用php 7.3运行localhost的xampp(osx)。
我在同一服务器上有几个项目,这些项目的标头位置都很好,并且运行良好。
答案 0 :(得分:0)
检查您的index.php
您也可以尝试将其添加到标题之前。
ob_start();
,然后您可以exit()
答案 1 :(得分:0)
header()必须在通过标准HTML标记,文件中的空白行或从PHP
发送任何实际输出之前调用Linux服务器区分大小写,请尝试使用大写位置。最好在标头位置之后停止脚本,这样以后就不会再运行其他脚本了。
header('Location: index.php');
exit;
答案 2 :(得分:0)
您可以使用
echo "<script> window.location.href = 'index.php'; </script>";
答案 3 :(得分:0)
您可以使用header()的替代方法:
echo '<script> location.replace("http://yoursite.com/yourpage.php");</script>';
答案 4 :(得分:0)
此问题的解决方案是将ob_start()添加到php文档的顶部。在Linux服务器和本地主机(带有XAMPP的MacO)上像超级按钮一样工作
答案 5 :(得分:-1)
header最适合绝对URL,请尝试使用http://...../index.php
而不是仅使用文件名index.php
,由于它是index.php,请使用父文件夹,并使用exit;
命令
例如,如果
Location('http://www.slyde.com/index.php');
exit;
//should be
Location('http://www.slyde.com');
exit;
,以及相对文件夹。
Location('http://www.slyde.com/app/index.php');
exit;
//should be
Location('http://www.slyde.com/app');
exit;
我希望这能奏效。