2012-03-18 78 views
0

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

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

我上传到我的直播服务器,但现在它重定向到

http://website.com/info.website.com/index.php?s=welcome

我该如何解决呢?我应该用$_SERVER['DOCUMENT_ROOT']还是别的什么吗?

回答

1

header("Location: http://info.website.com/index.php?s=welcome");
注:HTTP://

+0

谢谢,但如果我这样做,在我的本地(测试环境)重定向不好。所以我应该做一个检查,如果它是本地或不是? – Jordy 2012-03-18 13:18:19

+0

我看不出为什么这不会在本地主机上工作。你可以检查它是否适用于你,虽然 – Robus 2012-03-18 13:19:58

+0

是的,但如果我在本地主机上这样做,它不应该去实时版本,但本地版本。 – Jordy 2012-03-18 13:20:46

0

如果你想在本地模拟真实的域名,那么你应该改变你的hosts文件,添加类似: 127.0.0.1 mydomain.com

并设置一个虚拟主机监听mydomain.com(至少apache)

然后,你可以改变你的主机文件,当你想从生产中获取。

0

发送位置标题时,不需要包含任何http。它们可以是完全相对的,就像这样:

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

这都应该测试和生产服务器上运行

+0

它应该是一个子域的路径,而不是相同的域;-) – Jordy 2012-03-18 17:29:41

0
if ($_SERVER['HTTP_HOST'] != 'localhost') 
{ 
    header("Location: http://info.website.com/index.php?s=welcome"); 
} else 
{ 
    // go to localhost 
}