如何在主 Web 服务器上使用 php 标头调用重定向页面

Sec*_*Pro 1 php

当我使用 wamp 在本地 php 服务器上测试我的网站时,一切正常。我正在使用 php 文件调用一些页面,并且它工作正常。

header( "Location: http://127.0.0.1/portfoliohtml5/web.php" );
Run Code Online (Sandbox Code Playgroud)

但是当我尝试在主网络服务器上加载我的页面时,例如

header( "Location: web.php" );
Run Code Online (Sandbox Code Playgroud)

那么它不工作

您能否建议我如何在我的网站中使用 PHP 访问主网络服务器上的页面。

dru*_*dge 5

http://us.php.net/manual/en/function.header.php

HTTP/1.1 需要绝对 URI 作为Location: 的参数,包括方案、主机名和绝对路径,但某些客户端接受相对 URI。您通常可以使用$_SERVER['HTTP_HOST'],$_SERVER['PHP_SELF']dirname()自己从相对 URI 中创建绝对 URI:

<?php
/* Redirect to a different page in the current directory that was requested */
$host  = $_SERVER['HTTP_HOST'];
$uri   = rtrim(dirname($_SERVER['PHP_SELF']), '/\\');
$extra = 'mypage.php';
header("Location: http://$host$uri/$extra");
exit;
?>
Run Code Online (Sandbox Code Playgroud)