如何避免常见头文件中的链接断开

时间:2012-04-17 19:31:24

标签: php contextpath

我有一个共同的header.php,几乎包含在网站的每个页面中。我有header.php文件中不同资源的相对链接。只要我将其包含在位于根文件夹下的不同子文件夹中的其他页面中,一些链接就会中断。我可以在header.php绝对中创建所有链接。现在出现另一个问题:如果您将应用程序移动到另一个域并将其放在wwwroot下的某个位置,绝对链接将无法正常工作。我无法在PHP中找到一种方法来提取作为此应用程序根目录的URL部分。我最终为应用程序根定义了一个变量,并使用此变量为header.php中的每个链接添加前缀。这样,当这个应用程序从一个地方移动到另一个地方时,我只需要更改一个变量。

我想知道是否还有其他更好的方法来处理这种情况。

非常感谢您的反馈。

编辑:希望收到更多反馈。

1 个答案:

答案 0 :(得分:0)

你写它是一个常见的header.php文件,就像使用中心变量一样,你可以使用<base> HTML元素 - 但这仅限于HTML。

您可以创建一个映射函数,该函数能够解析绝对URL到请求URI,或者能够解析它们出来的上下文的相对URL,以便它们可以绝对地相对于请求URI进行映射

然后你可以实现一个自己处理URI的输出过滤器,你可以为特殊处理做一些特殊的前缀。