【问题标题】:redirect to same page with header("Location: " . $MyPage); not working重定向到带有标题的同一页面(“位置:”。$MyPage);不工作
【发布时间】:2012-02-21 14:15:52
【问题描述】:

我的插件(管理侧页面)使用 url 上的参数进行编辑、更新等。

http://www.sandwichbaron.com/dev/wp-admin/admin.php?page=my-page-handle&Action=Edit&recId=1

一旦我完成编辑和更新我的数据库表, 我用

header("Location: " . $MyPage);   
 $MyPage = http://www.sandwichbaron.com/dev/wp-admin/admin.php?page=my-page-handle

即......没有参数

和 它显示在浏览器 url 地址栏中参数仍然存在。???? 所以我(和客户)必须手动刷新页面,才能看到变化。

我正在阅读有关奇怪的 htaccess 文件等的信息,但我被卡住了……毫无头绪……恼怒 有人可以帮忙吗。

【问题讨论】:

  • “无参数” 什么??你在问什么 ?您的网址仍然有参数,即 page=....
  • @phazorRise 是绝对正确的 - 您评论中 $MyPage 变量的内容是错字吗?如果是这样,并且您希望它在没有变量的情况下重定向到 admin.php,听起来标头已经发送并且重定向没有生效。

标签: php redirect parameters header uri


【解决方案1】:

您必须在将变量 $MyPage 插入到标题之前设置它,并将其用引号引起来。此外,在重定向调用 header() 后,您应该始终使用 exit()

$MyPage = "http://www.sandwichbaron.com/dev/wp-admin/admin.php?page=my-page-handle";
header("Location: " . $MyPage);   
exit();

【讨论】:

  • 好的,错字,...我确实先设置了 $MyPage = "yad yada",然后调用 header("location: " . $MyPage);
  • 不:即使在我明确强制它重定向到下面的 url 之后,仍然保留 url 中的参数。我有以下标题(“状态:301”); header('位置:sandwichbaron.com/dev/wp-admin/…);退出();
  • 第一次调用header()是错误的,看文档。 1. 参数:标题,2. 替换?,3. 响应代码(状态)。所以你需要header("Location: ...", true, 301);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-06-27
  • 2015-10-22
相关资源
最近更新 更多