如果用户通过身份验证,则此php代码会显示不同的网站内容:
<?php
session_start();
if(isset($_SESSION["authenticated"])){
if ($_SESSION["authenticated"]) {
include("seperatedProject/file.html");
exit;
}
}
?>
seperatedProject文件夹包含已开发的项目,与其自己的css,资产,脚本分开。
似乎file.html中的路径被解释为源自文档根目录,而不是相对于seperatedProject文件夹。
使用include选项找不到的路径示例,但如果单独运行则有效:
<script src="js/design.js"></script> //404 error here
如果我将其重命名为:
<script src="seperatedFolder/js/design.js"></script> //200 OK
我可以从php的include视角重命名所有路径以包含正确的路径,但有没有更好的方法来处理这个问题? php是否有解释路径相对的选项?
更新:
/folder/fileA
包含脚本链接<script src="js/design.js"></script>
是另一个文件夹js,其中包含design.js
/index.php contains line include("folder/fileA.html");
index.php
看到<script src="js/design.js"></script>
,因为它包含了它。它尝试搜索js/design.js
..但它不知道它必须在/folder/js,
中搜索,因为它从它自己的角度看待路径。希望能让我的问题更加清晰