在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

我缺少什么来确保页面重定向(通过302 Redirect(而不更新浏览器URL栏位置?

我缺少什么来确保页面重定向(通过302重定向(而不更新浏览器URL栏位置?

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

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

最新更新