在站点根目录中,我有以下文件夹和文件:
文件包含/scripts.php 包含指向其余页面运行所需的所有 css/js 文件的链接。从站点根目录中的任何文件(例如 cart.php)中包含 scripts.php 时,所有路径都可以正常工作。但是,当从文件夹(例如 /admin)中包含时,路径不正确,显然是因为 /admin 中没有 /js 或 /css 目录。
我尝试了几件事,例如将 scripts.php 中的路径从 '../css/styles.css' 更改为 ./css/styles.css 或只是 /css/styles.css ,但这没有用。也试过include($_SERVER["DOCUMENT_ROOT"] . "includes/scripts.php");
但也没有成功。
如何在 scripts.php 中设置相对路径,以便无论它来自何处,所有 css/js 路径都是正确的并且与站点根目录相关?
这是 scripts.php 中一些链接文件的示例:
<script type="text/javascript" src="js/jquery-1.8.0.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.9.2.custom.min.js"></script>
<script type="text/javascript" src="js/jquery.alerts.js"></script>
<script type="text/javascript" src="js/cookie.js"></script>
<link rel="stylesheet" type="text/css" href="css/styles.css">
<link rel="stylesheet" type="text/css" href="css/layout.css">
ETC...
编辑:我看到大多数答案都理所当然地认为文件托管在 UNIX 环境中,这是不正确的,它是在 Windows/Apache 设置上开发的,完成后将托管在 UNIX 服务器上。所以我需要一个适用于两个系统的解决方案,这样我在编辑/上传文件到实时服务器时都不需要更改代码。