PHP 302重定向期间无法在浏览器URL栏中保留地址

时间:2020-09-08 15:41:18

标签: php redirect http-status-code-302

在我的页面上

/my/conditional/redirect/page/index.php

我有条件的 PHP 302重定向

<?php

if (!in_array($_SERVER['REMOTE_ADDR'], ['369.168.492.123'])) {

  // header('HTTP/1.1 403 Forbidden');
  header('Location: https://'.$_SERVER['HTTP_HOST'].'/my/redirect/index.php', TRUE, 302);
  exit;
}

else {

  [... PHP CODE HERE...]
}

?>

我尝试了以下代码:

  • 如上所述
  • 带有和不带有TRUE302参数的
  • 有和没有exit;
  • 有和没有https://'.$_SERVER['HTTP_HOST']

没关系。重定向始终会将浏览器URL栏中的位置更改为:

/my/redirect/index.php

尽管我非常希望它能够坚持为:

/my/conditional/redirect/page/index.php

在不更新浏览器URL栏位置的情况下,要确保页面重定向(通过302 Redirect),我缺少什么?

1 个答案:

答案 0 :(得分:1)

在不更新浏览器URL栏位置的情况下,要确保页面重定向(通过302重定向),我缺少什么?

什么都没有。这就是HTTP重定向的工作方式。

如果要保留URL,则需要执行内部重定向或代理请求,以便服务器返回所请求URL的内容。