【问题标题】:Set-up include path for menu navigation so page links know where the site root is located in order to not break links设置包括菜单导航的路径,以便页面链接知道站点根目录的位置,以免破坏链接
【发布时间】:2014-08-09 01:25:35
【问题描述】:

我没有成功让我的远程服务器环境表现得像我的测试服务器环境 - 反之亦然 - 关于我在我的各个页面中包含的导航“包含代码”(这些页面位于其他文件夹中在网站上)。

我的菜单在以这种方式调用包含到此页面的页面中显示良好...

<?php include("../includes/navigation.php"); ?>

但是我的 MAMP 测试服务器似乎希望我除了在每个菜单项中提供的链接之外还添加根文件夹,所以我通过添加我的站点根文件夹来更改链接,就像这样......

<a href="/mysite/courses/list.php"

导航菜单似乎可以工作,进入一个文件夹并返回另一个文件夹(然后我意识到在我的远程服务器上测试它并不好)。

我的链接不正确/损坏。

所以我为远程服务器改成了这样的东西......

 <a href="/courses/list.php"

链接似乎可以在远程服务器上运行,但我需要修复它,以便我使用的代码可以在测试服务器和远程服务器上运行...

所以,我正在尝试 ~~理解/控制/修复~~ 我的 include_once 代码为我的所有不同页面提供正确的菜单导航,无论我是在我的测试服务器上还是在我的远程服务器上,无论我在一个或另一个文件夹。这可能吗?我是否以正确的方式接近这一点?

(目前,我的根文件夹有一个索引页面,然后在其中,我有 3 个文件夹,其中有杂项页面,其中一个文件夹(包括)保存我的 navigation.php 页面)

我一直在寻找如何让我的页面(位于各种文件夹中)识别它们与站点根文件夹相关的位置。作为搜索的结果,我决定将此代码插入到我的“课程文件夹”中的 list.php 页面中......

   <?php
   $path = $_SERVER['DOCUMENT_ROOT'];
   $path .= "/includes/navigation.php";
   include_once($path);
   ?> 

在我的一个页面上,然后在我的测试服务器 (MAMP) 中对其进行了测试 - 但现在菜单甚至没有显示...我也尝试过...

       <?php
   $path = $_SERVER['DOCUMENT_ROOT'];
   $path .= "../includes/navigation.php";
   include_once($path);
   ?> 

所以我正在寻求理解方面的帮助 - 我在理解/执行中缺少什么来让页面现在显示导航菜单以及知道它与根目录的关系。

我欢迎任何 cmet 帮助我了解如何连接点来解决这个问题。正如我在另一篇帖子中读到的那样,他们的站点根文件夹指向的位置存在问题(它指向服务器根文件夹,而不是站点根文件夹)-

我怎么知道这是否是我的问题所在?你如何检查这个?

【问题讨论】:

    标签: php hyperlink navigation include directory


    【解决方案1】:

    我遇到了同样的问题。我为解决它所做的不是简单地使用“..includes/nav.php”,而是使用文件的绝对路径。它应该看起来像这样:

    “var/www/html/includes/nav.php”

    这指定了文件的确切路径。您可以通过托管文件管理页面找到它。登录文件管理,在文件夹中找到nav文件,并使用文件的准确url。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-07-08
      • 1970-01-01
      • 2017-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多