2013-07-07 38 views
-1

考慮下面的目錄樹:PHP:通過子目錄導航

/root 
    page1.php 
    menu.php 
    /subdir 
     page2.php 

這裏,menu.php是一個導航菜單:

<div class="cssmenu"> 
    <li><a href="link to page 1">page 1</a></li> 
    <li><a href="link to page 2">page 2</a></li> 
</div> 

page1.php和page2.php都調用menu.php通過包含功能:

<?php include "path to menu.php"?> 

但是,當通過include函數調用代碼時,相對鏈接i導航菜單變得不明確。我應該如何在導航菜單中定義鏈接以便在瀏覽器中正確呈現?最好是,我希望它獨立於/ root的絕對路徑,以便我可以通過本地機器呈現我的網站。

+0

使用基本標記 – Petah

+0

創建BASE_URL常數,它前面加上你的鏈接。這個常數應該隨着環境變化 – Orangepill

+1

@Petah打破所有其他的鏈接... – RiaD

回答

0

您可以使用/(斜槓)開始鏈接。這意味着從網站的根目錄到當前網站的地址。見清晰例如

<a href="/link_from_root_of_the_site">Link</a> 

例子:Badges<a href="/help/badges/">Badges</a>

+0

謝謝,但我想要的鏈接是獨立於哪個特定的服務器的網站上(以便我可以呈現它在我的桌面上沒有任何硬編碼)。 – user2499604

+1

@ user2499604,如果你在你的機器上使用任何網絡服務器,它會好的,鏈接將是相對於當前網站的根(例如'http:// localhost /') – RiaD

+0

他的意思是用正斜槓開始鏈接。這意味着即使根目錄發生了變化,它仍然會從根目錄的相同位置看到。 – tuespetre