2012-09-11 82 views
0

我有一個文件結構如下所示:PHP包括母版頁和路徑問題

Admin/index.php 
index.php 
master.php 
site.js 

簡體版master.php

<html> 
    <head> 
     <script src="site.js"></script> 
    </head> 
    <body> 
     <?php echo $content ?> 
    </body> 
</html> 

簡體版index.php

<?php ob_start(); ?> 
Lorem ipsum 
<?php 
    $content = ob_get_contents(); 
ob_end_clean(); 
    include("master.php"); 
?> 

簡體版Admin/index.php

<?php ob_start(); ?> 
Lorem ipsum 
<?php 
    $content = ob_get_contents(); 
ob_end_clean(); 
    include("../master.php"); 
?> 

index.php工作得很好,但在Admin/index.php,它試圖找到在Admin文件夾site.js ...

我可以使用/absolute/path/to/site.js,但該網站的不同實例不同網址下運行(如http://mysite.com/Instance1/Admin/index.php等)

那麼如何才能解決這個,這樣它看起來site.jsmaster.php是在文件夾中,而不是頁面包括的文件夾?

+0

geez,爲什麼凌亂的意大利麪代碼?!使用任何理智的模板引擎Luke。 –

+0

您是否嘗試過在您的master.php文件的頭部使用標記?請記住,它可以動態設置,如果需要 –

+0

嘗試通過給絕對路徑。通過查看你的聲譽,你更好地知道如何給絕對路徑:) – baig772

回答

2

你可以使用 <base href="http:/site.com/" />

把它放在你的HTML(間<head> and </head>)的頭部。

<base>標記指定文檔中所有相對URL的基本URL /目標。

因此,如果您將此設置爲http://yoursite.com/instance1/,並將您的js設置爲script.js,它將從http://yoursite.com/instance1/script.js中獲取它。

+0

這是什麼? – Entity

+0

編輯我的帖子。 – Nin