2012-09-11 52 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