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

问题描述

在我的页面

/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),我缺少什么?

解决方法

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

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

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

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...