2016-10-14 32 views
0

到目前爲止,我曾經把絕對URL放在我包含的PHP文件中。例如在navbar.php中,鏈接到服務頁面:href="http://domain.com/services.php"包含PHP文件中的URL的最佳實踐

由於navbar.php包含在不同的目錄中,因此我必須使用絕對URL。

問題是,當我在本地使用wamp服務器測試站點時,這指向了活動站點,這不是我想要的。

什麼是包含的PHP文件中的URL的最佳做法?

我正在尋找類似'root/thefile.php'的東西,其中根可以是域(當網站是活的時候)或本地主機(當在本地構建和測試網站時)。 。

+0

http://php.net/manual/en/reserved.variables.server.php SERVER_NAME應該可以幫助您 –

+0

或相對路徑。 http://stackoverflow.com/questions/17407664/php-include-relative-path –

+0

這甚至不是你以前使用過的「絕對URL」。根據定義,URL是絕對的_always_,但是你的只是一個字符串,它可以被解釋爲主機名和路徑的組合。它缺少強制使用URL的方案(協議)。 – arkascha

回答

0
include ($_SERVER["DOCUMENT_ROOT"]."/file path"); 
1
$_SERVER['HTTP_HOST'] 

這會給你的根URL EX(domain.com)

所以,你可以做這樣使用:

echo 'http://' . $_SERVER['HTTP_HOST"]; 

這會給你您的網址。你也可以使用

echo 'http://' . $_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"]; 

這會給你帶有請求的完整url。 ex(domain.com/thefile.php);

+0

如果一個路徑完全足夠並且更加靈活,那麼創建一個URL是一個很大的努力。 – arkascha

+4

'HTTP_HOST'由客戶端設置,應儘可能避免。 – Andy