感谢阅读!
我使用PHP include管理包含链接的标题。它位于文件夹/includes/header.php中。
以下是header.php的示例:
<nav>
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="page.php">Page</a></li>
</ul>
</nav>
当我将include添加到根目录中的文件时,比如/index.php,我将其添加为:<?php include_once("header.php"); ?>
。这一切都很好,链接指向他们需要的地方。
当我做同样的事情,但在子目录中有一个文件,例如一个名为/foo/page.php的文件,我将添加这样的包含:<?php include_once("../includes/header.php"); ?>
- 这样它就可以正确地抓取文件。
我的问题是header.php文件中的所有链接都没有到达我想要的位置。我在.htaccess中找到了一些关于使用set环境函数的信息,但我不知道该怎么做。
如果你对这个问题有了答案,我很乐意听到它!谢谢!
答案 0 :(得分:1)
从根网站目录开始标题中的所有链接。
只是做;
"/index.html"
"/subdirectory/link.html"
所以基本上只需要使用正斜杠启动所有链接,因为没有它,它将在当前目录中查找页面。
答案 1 :(得分:0)
将应用程序的基本URL存储在配置文件或数据库中,然后使用它来构建绝对链接而不是相对链接。例如,你有一个像config.php这样的文件:
<?php
$baseUrl = "http://yourdomain/yourapp/";
在header.php中:
<?php include_once("config.php"); ?>
<a href="<?php echo $baseUrl; ?>page.php">Page</a>
如果您移动应用程序,编辑文件可能看起来不方便,但这样您的链接随时都可以在任何目录中运行,随着应用程序的增长,还会有一些其他的东西,如数据库访问,也需要移动应用程序时可以更改,并且可以存储在同一个配置文件中。
答案 2 :(得分:0)
您可以在HTML头中设置base url。