2012-03-18 112 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 
}