Php header(“Location”:将我带到一个显示404的页面,但如果我在新选项卡中复制url,它将打开
我在做什么Php header(“Location”:将我带到一个显示404的页面,但如果我在新选项卡中复制url,它将打开,php,apache2,Php,Apache2,我在做什么 $returnpath = $_POST['returnpath']; header("Location: $returnpath"); $returnpath为“/blogs/write” 它继续前进并装载 它给出了Apache404NotFound页面。 我在谷歌浏览器中点击Ctrl-r或者点击刷新按钮,页面仍然是404 如果我复制完整的url并将其粘贴到一个新选项卡中,页面会显示!如果我用404将指针放在该页面的url栏中并按enter键,页面将加载!检查您的Apache日志
$returnpath = $_POST['returnpath'];
header("Location: $returnpath");
$returnpath为“/blogs/write”
它继续前进并装载
它给出了Apache404NotFound页面。
我在谷歌浏览器中点击Ctrl-r或者点击刷新按钮,页面仍然是404
如果我复制完整的url并将其粘贴到一个新选项卡中,页面会显示!如果我用404将指针放在该页面的url栏中并按enter键,页面将加载!检查您的Apache日志,查看在您尝试重定向时遇到404错误时尝试检索的页面。然后您将确定该页面是否为url编码问题e、 打字错误或其他问题 另外,在将$\u POST['returnpath']值转储到头指令之前,请先对其进行一些健全性检查。否则,您将遇到一个明显的开放重定向漏洞 无论何时编写函数,默认情况下,PHP都会尝试加载其参数中提到的完整URL。因此,如果编写代码:-
<?php
header("Location: relative_uri");
exit();
?>
然后PHP将加载一个URL为“相对uri
”而非“http://example.com/relative_uri
”,其中“example.com
”是您的域名
因此,请尝试在“header()
”函数的参数中写入完整的绝对URL
希望有帮助。尝试完整的url,这在技术上是标题所必需的。尝试发送一个完整的绝对url,地址为:header(无论如何应该是这样)。否则可能是某种形式的无关空格。所有的否决票是怎么回事?如果你否决票,至少给出一个理由…@Earlz-谢谢你的更改。