2010-11-30 44 views
0

我有我们的基本企业静态html网站安装在我们的网站根目录和我们的计费软件安装在/门户网站。通过在/portal/header.tpl文件中包含/menu.tpl smarty模板文件,我已将这些网站集成到单个站点中。但是,如果我使用相对URL,则菜单sysem不起作用,因为计费脚本的基础URL是/ portal。即如果我在menu.tpl中创建了一个到faq.php的链接,并且我在门户网站上加载了一个页面,菜单中返回到faq页面的链接现在是/portal/faq.php,因此如果我加载了一个页面根网站的链接只是/faq.php,因为它应该是。如何在网站中使用相对URL与两个基址的网址

显而易见的答案是只使用绝对URL,但我需要该网站是可移植的,因为我有许多开发人员需要安装和测试它。

我无法找到解决这个问题。有任何想法吗?

回答

0

我刚才遇到同样的问题,因为你,并尝试了很多死角,我终于结束了以下解决方案:

  1. 对于你需要一个chamelion任何URL,即根据环境改变其路径,插入一个PHP函数,写出正确的URL。
  2. 如果您从单个中央文件中包含PHP功能,则可以根据设置或某些预先检测的开关(如当前域名等)自动更改整个站点中的所有URL。

实施例:

<?php print_base_url_plus("/menu.php"); ?> 

...其中print_base_url_plus()是追加的基本URL到输出的功能。

您可能会发现,您必须将某些URL的内容更改为PHP,以便由PHP引擎对其进行预处理,或者可以更改Web设置,以便标准.htm文件通过PHP引擎进行传送,就像.php文件一样。

相关问题