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

时间:2011-12-14 05:22:37

标签: php html

我有这个链接:

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

我把它动态与PHP代码“包含”作为标题的一部分..现在,它不起作用,这是因为它取决于我在网站目录中的位置..有时我有时是两个文件夹,我是在根。 ..此后,当我不在根目录但在某个文件夹中时,href属性的值不正确..它应该是../index.php ..

我如何将该属性调整为../index.php或index.php,具体取决于我在我的网站中导航的位置?

4 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

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

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

<a href=<?php echo $absoluteURL; ?>">Political Science</a>

这永远不会失败

答案 2 :(得分:0)

所以你希望该链接始终转到同一个索引?为什么不使用像这样的绝对href:

<a href="'.$_SERVER['DOCUMENT_ROOT'].'/index.php">

(如k102所说)

答案 3 :(得分:-2)

你可以写

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

<a href="<?php echo $path;?>">Political Science</a>