在包含的顶部菜单(HTML)中设置链接


Setting links in an included top menu (HTML)

我在本地使用xampp,我在不同的项目上工作。我一般在网站上使用包含在顶部的菜单。

目录的例子:

C:'xampp'htdocs'site1

C:'xampp'htdocs'site2

在包含的顶部菜单中,我将链接设置为

<a href="/site1/page1">Link</a>
<a href="/site1/page2">Link</a>
....
<a href="/site1/page7">Link</a>

但是当我在远程服务器上上传网站时,这个链接不起作用。因为根目录不是"htdocs"。根文件夹是site1site2 ..

当我在site1上工作时,在我的本地,我必须将默认根目录设置为"site1",并将链接设置为

<a href="/page1">Link</a>
<a href="/page1">Link</a>

,它适用于(local-remote)

问题:如何在不改变本地根目录的情况下,在包含的顶部菜单中提供链接。我试过做../page1。对于主页面,它可以工作,但对于子页面不起作用。

创建config.php文件。在您的远程站点上,这将保持:

$path='/';

把它和你的菜单文件放在同一个目录下,在你的菜单文件中包括config.php:

<?php require_once('config.php'); ?>
并定义如下链接:
<a href="<?= $path ?>page1">Link1</a>
<a href="<?= $path ?>page2">Link2</a>

在您的本地机器上,根据您正在工作的站点编辑配置文件:

$path='/site1/';

use

<a href="http://<?php echo $_SERVER['SERVER_NAME']; ?>/page1"> Link</a>

或创建config.php并定义路径,如

$localhost = true // change this to false when you upload to server
if($localhost) {
  $root_path = 'http://localhost/site1/';
} else {
  $root_path = 'http://'.$_SERVER['SERVER_NAME'].'/';
}
define('ROOT_PATH', $root_path);

并将此config.php包含在所有需要定义路径的文件中

<?php
 include_once(dirname(__FILE__)."/config.php");
?>
 <a href="<?php echo ROOT_PATH;?>/page1">Link</a>