Php 子域的相对路径

Php 子域的相对路径,php,redirect,path,Php,Redirect,Path,在我的本地主机上,我正在运行一个网站,在www.website.com上,应该有人登录并重定向到info.website.com。我正在使用以下路径重定向用户: header("Location: /info.website.com/index.php?s=welcome"); 我把它上传到我的live服务器,但现在它重定向到 我怎样才能解决这个问题?我应该对$\u服务器['DOCUMENT\u ROOT']或其他什么做些什么吗?标题(“位置:http://info.website.com/

在我的本地主机上,我正在运行一个网站,在www.website.com上,应该有人登录并重定向到info.website.com。我正在使用以下路径重定向用户:

header("Location: /info.website.com/index.php?s=welcome");
我把它上传到我的live服务器,但现在它重定向到

我怎样才能解决这个问题?我应该对
$\u服务器['DOCUMENT\u ROOT']
或其他什么做些什么吗?

标题(“位置:http://info.website.com/index.php?s=welcome");

注意:http://

如果您想在本地模拟真实的域,那么您应该更改主机文件,添加如下内容: 127.0.0.1 mydomain.com

并设置一个vhost来监听mydomain.com(至少是apache)


然后,当您想从生产环境中获取时,您可以只更改主机文件。

在发送位置头时,您不需要包含任何http内容。它们可以是完全相对的,比如:

header("Location: /index.php?s=welcome");

这应该可以在测试服务器和生产服务器上使用

谢谢,但是如果我在本地主机(测试环境)上这样做,重定向就不正常了。那么,我应该检查它是否是本地的吗?我不明白为什么这在本地主机上不起作用。您可以检查这是否对您有效,但如果我在localhost上这样做,它不应该转到live版本,而应该转到本地版本。除了检查它是live还是dev env之外,没有其他方法。我的意思是:localhost应该转到header(“Location:);它应该是到子域的路径,而不是到同一域的路径;-)
if ($_SERVER['HTTP_HOST'] != 'localhost')
{
    header("Location: http://info.website.com/index.php?s=welcome");
} else
{
    // go to localhost
}