PHP重定向相同地址不同的端口

时间:2015-02-03 20:20:14

标签: php url-redirection

现在我有这个:

header("Refresh: 0; url=http://192.168.100.100:10500/redirect2.php");

如何进行相同的重定向但没有写地址,只有端口?两个文件都位于同一服务器上的同一文件夹中。

问题是我不知道将用于访问此服务器的地址(私人或公共)。

2 个答案:

答案 0 :(得分:4)

使用超全球$_SERVER数组,Location标题和exit;

$port = '10500';
header('Location: '
    . ($_SERVER['HTTPS'] ? 'https' : 'http')
    . '://' . $_SERVER['HTTP_HOST'] . ':' . $port
    . $_SERVER['REQUEST_URI']);
exit;

答案 1 :(得分:1)

也许它对某人有用,isHttps()函数可以检测到SSL。

function isHttps() {
      return
        (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off')
        || $_SERVER['SERVER_PORT'] == 443;
    }

$destinationPort = '10500';

$schema = isHttps() ? "https" : "http";
$schema .= "://";
header('Location: ' . $schema . $_SERVER['HTTP_HOST'] . ':' . $port
    . $_SERVER['REQUEST_URI']);

exit;