我已经创建了如下所示的头文件。
<style type="text/css" >
.menu{
width: 100%;
/*background-color: #333; */}
.menu ul{
margin: 0; padding: 0;
float: left;}
.menu ul li{
display: inline;}
.menu ul li a{
float: left; text-decoration: none;
color: #000;
padding: 10.5px 11px;
/* background-color: #333; */}
/*
.menu ul li a:visited{
color: white;}*/
.menu ul li a:hover, .menu ul li .current{
color: #fff;
background-color:#0b75b2;}
}
</style>
<div class="menu" style="width:430px; height:43px; margin-left:420px; margin-right:auto;">
<ul>
<li><a href="index.php">Home</a></li>
<li><a href="about.php">About us</a></li>
<li><a href="contact.php">Contact us</a></li>
<li><a href="image-gallery/index.php">Image Gallery</a></li>
<li><a href="articles/index.php">Articles </a></li>
</ul>
</div>
所以我有deference目录,如图片库,文章
文件路径:
www/websitename/index.php
我已经将header.php包含到主index.php中,它正确链接但是当我包含图片库的索引文件没有正确链接时,
www/websitename/image-gallery/index.php
www/websitename/image-gallery/index.php
答案 0 :(得分:0)
有各种解决方案,但最简单的实现方法是在config.php文件中定义。除其他外,define将指定根文件和根路径
的config.php
define('ROOT_URL', 'http://www.example.com/');
define('ROOT_PATH', '/var/www/html');
然后,在index.php中,你有
include('config.php');
include('header.php');
或
include('../config.php');
include('../header.php');
然后,在header.php中
<li><a href="<?php echo ROOT_URL; ?>index.php">Home</a></li>
这个主题有很多变化,上面是最简单的,但这里有其他的。
为什么这种方法?因为在config.php中你可以使用
if($ _SERVER ['HTTP_HOST'] =='staging.example.com'){ //一组定义 } else { //假设live - user另一组定义 }
并从dev / staging / live复制文件而不覆盖。
与hte include中的“../”相反,在每个文件中创建一个变量“root_file”为“./”或“../”。然后包括($ root_file。'header.php');在每个脚本中执行此操作,您也可以使用链接。
如果指定hte完整URL,则可能需要排除“http://”部分并添加您所使用的模式,如果您在https和http之间轻弹。在代码中添加URL(或在构建链接的函数中)
您可能希望将详细信息存储在数据库中(在这种情况下,您可能会在配置文件中存储数据库连接凭据
最后,您可以使用$ _SERVER [''](http://php.net/manual/en/reserved.variables.server.php)变量,或__FILE__
或__ DIR__
( http://php.net/manual/en/language.constants.predefined.php)确定你的位置。要小心,因为REQUEST_URI可能无法准确地反映脚本的位置(如果使用.htaccess进行重写规则),如果您使用符号链接,则SCRIPT_FILENAME / __FILE__
/ __DIR__
也可能存在。但是如果你知道你的服务器配置,这是一种非常便携的方式来处理“我在哪里?”。
所以,有很多选择。从简单开始,根据需要进行构建。