我在本地使用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
"。根文件夹是site1
或site2
..
当我在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>