【发布时间】:2012-04-29 04:25:04
【问题描述】:
我有一个通用的 header.php,几乎包含在网站的每个页面中。我在 header.php 文件中有指向不同资源的相对链接。一旦我将它包含在位于根文件夹下不同子文件夹中的其他页面中,一些链接就会断开。我可以将 header.php 中的所有链接设为绝对链接。现在又出现了另一个问题:如果您将应用程序移动到另一个域并将其放在 wwwroot 下的某个位置,那么绝对链接将不起作用。我无法在 PHP 中找到一种方法来提取作为此应用程序根的 URL 部分。我最终为应用程序根定义了一个变量,并在 header.php 中的每个链接前面加上这个变量。这样,当这个应用程序从一个地方移动到另一个地方时,我只需要更改一个变量。
我想知道是否有其他更好的方法来处理这种情况。
非常感谢您的反馈。
编辑:希望收到更多反馈。
【问题讨论】:
-
在 PHP 中最常见的处理方法是使用 mod_rewrite 和朋友通过基本控制器发送所有请求。 PHP 处理这类事情与 Java 略有不同,因为在 Java 中,您经常使用嵌入式服务器或直接与请求处理程序应用程序通信的服务器。 PHP,主要是围绕 CGI 设计的,通常不会以这种方式工作。通常,涉及路径解析的请求部分由 Web 服务器完成,并且在 PHP 启动时已完成 - 服务器使用它来查找正确的脚本。
标签: php contextpath