2012-08-19 59 views
0

好吧,說我有一個子域設置爲:mysubname.mysite.net,其中,實際上,帶我到以下網址:http://mysite.net/aName/bName/cName/eName如何閱讀在PHP中的子域的真實網址?

我怎樣才能獲得http://mysite.net/aName/bName/cName/eName路徑,在PHP中,這是真正的路徑相對於我的網站?

這可能嗎?我必須使用.htaccess文件來完成這個嗎?我只需要將這個REAL Path存儲在一個php變量中。我不想將url更改爲新路徑,只需要知道實際REAL的URL,更長的PATH!

例如,我想我的網站上使用的Flash MP3播放器...它適用於長網址:ACTUAL PATH of where Sub-Domain points to

雖然,如果你去的子域名,它不玩MP3文件:HERE

我想它有與此代碼做的,就是在PHP中,這是需要Flash播放器的工作:

$path= $_SERVER['HTTP_HOST'] .$_SERVER['PHP_SELF']; 
$path=dirname($path); 

$file='http://'.$path.'/'.$file; 

什麼想法?我可以發佈更多的代碼,你認爲它會幫助...讓我知道。

+1

當服務器將用戶發送到長網址,它是否重定向到那個長網址,還是隻是給這個長網址的內容沒有HTTP重定向? – Patrick 2012-08-19 03:26:51

+0

它只是給現在沒有一個HTTP重定向現在長的網址的內容...所以你可以訪問該網站的子網域或長網址...都工作。 – 2012-08-19 03:36:10

回答

1

PHP有一個全局變量,可以幫助你做到這一點。我認爲你想要的是HTTP_REFERER。最好的辦法是在頁面頂部http://mysite.net/aName/bName/cName/eName處使用print_r PHP $_SERVER變量,然後使用包含所需URL的變量。

所以在頁面的頂部粘貼此代碼:

<pre> print_r($_SERVER); </pre>

PHP Manual $_SERVER documentation

細想它REQUEST_URI可能是你想要的。再次,最好的辦法是打印出$_SERVER,看看你想要什麼變量。

+0

我編輯了我的問題以包含顯示問題的鏈接。我查看了所有$ _SERVER結果,並且沒有結果爲我提供了一個可以用於此目的的路徑......但是,請再次查看'HTTP_REFERER'。 – 2012-08-19 03:46:18

+0

'HTTP_REFERER'不能幫助我!問題是,我需要獲得長路徑並將其存儲在'$ file' php變量中,這樣我可以在用戶瀏覽到我的子域時使用播放器.... – 2012-08-19 03:54:15

+0

好吧,什麼'$路徑'變量包含。如果你迴應它是否有正確的路徑到MP3播放器? 我想你可能不得不將子域重定向到長URL,而不僅僅是給內容。 – paviktherin 2012-08-19 04:00:37

0

如果你的MP3文件在一些像目錄:

$path="/music/song.mp3"; 

然後獲取文件的原始路徑,您可以使用realpath()

$original_path=realpath($path); 

$ original_path包含mp3文件的直接鏈接。希望能幫助到你!

+0

這是很好的,但會很好的信息...但如果有一個URL相當於這個功能,這可能實際上可以解決我的這個問題.. 。 – 2012-08-19 04:38:20