Php 链接设置为绝对链接不起作用

Php 链接设置为绝对链接不起作用,php,html,Php,Html,我得到了这个链接: <a href="index.php">Political Science</a> 我使用php代码“include”动态地将其作为头的一部分。。现在,它不起作用,那是因为它取决于我在网站目录中的位置。。有时我是两个文件夹里面有时,我在根。。此后,当我不在根目录中,而是在某个文件夹中时,href属性的值不正确。。它应该是../index.php 根据我在站点中的导航位置,如何将该属性调整为../index.php或index.php?在这种情况下

我得到了这个链接:

<a href="index.php">Political Science</a>

我使用php代码“include”动态地将其作为头的一部分。。现在,它不起作用,那是因为它取决于我在网站目录中的位置。。有时我是两个文件夹里面有时,我在根。。此后,当我不在根目录中,而是在某个文件夹中时,href属性的值不正确。。它应该是../index.php


根据我在站点中的导航位置,如何将该属性调整为../index.php或index.php?

在这种情况下,我通常为href属性指定一个绝对路径。我将我的网站地址保存在一个变量中,并将网站地址与文件的相对位置(相对于网站的物理根)联系起来,如下所示:

$domain      = "http://www.google.com/";
$absoluteURL = $domain . "folderx/foldery/zzz.html"

<a href=<?php echo $absoluteURL; ?>">Political Science</a>
<a href="'.$_SERVER['DOCUMENT_ROOT'].'/index.php">
$domain=”http://www.google.com/";
$absoluteURL=$domain。“folderx/foldery/zzz.html”
这是永远不会失败的

你可以写

$path = "http://".$_SERVER['HTTP_HOST']."/index.php";

<a href="<?php echo $path;?>">Political Science</a>
$path=“http://”$\u服务器['http\u主机].“/index.php”;

那么您希望该链接始终指向同一索引?为什么不直接使用如下绝对href:

$domain      = "http://www.google.com/";
$absoluteURL = $domain . "folderx/foldery/zzz.html"

<a href=<?php echo $absoluteURL; ?>">Political Science</a>
<a href="'.$_SERVER['DOCUMENT_ROOT'].'/index.php">


(就像k102所说的)

你可以使用
\uuuuu FILE\uuuuuu
dirname()
explode()
,但这有点脏。您可以在somefile.php中定义全局常量,并在您包含的文件中进行检查,例如,如果它是真的,请在链接的开头添加..。

我正要说
,但听起来您确实有一个嵌套的路径结构,只有一个链接需要是绝对的。但是为什么一个合适的
href=/index.php
不适合你呢?简单的“index.php”并不是一个绝对的链接。在href前面放置一个“/”将自动跳转到您的主文件夹,这样您就可以指定确切的位置,而不管您在HEIARCY的哪个位置。->“/index.php”如果index.php在根目录中。您可以使用绝对路径:
HTTP\u REFERER并不总是保证是您自己的域,也可以是页面的完整路径,而不仅仅是域名。为什么我需要回页路径?!?