PHP网站的绝对URL路径

时间:2010-06-14 07:37:39

标签: php url content-management-system

我正在CMS网站上的一个网站上工作。我在我的页脚文件中提供了一个链接,例如blogs.php。此页面位于“http://www.example.com/new_cms/blogs.php

之类的根目录下

当我移动到其他文件链接“http://www.example.com/new_cms/forums”时,页脚链接更改为“http://www.example.com/new_cms/forums/blogs.php”但blogs.php页面位于路径“http://www.example.com/new_cms/”。我尝试了不同的$ _SERVER []变量,但没有运气获得上述路径“http://www.example.com/new_cms/”表示服务器名称,其中包含项目当前运行的目录。

任何人都知道如何完成它将是一个很大的帮助。

由于

3 个答案:

答案 0 :(得分:2)

这可能是因为您的链接中包含相对网址,如下所示:

<a href="blogs.php">Blogs</a>

所以它在当前目录中查找blogs.php文件。

如果您希望该链接指向new_cms文件夹中的blogs.php文件,则必须使用如下链接:

<a href="/new_cms/blogs.php">Blogs</a>

答案 1 :(得分:0)

您可以从$_SERVER['SERVER_NAME']获取服务器名称,该名称是服务器/虚拟主机配置中指定的规范服务器名称。除此之外$_SERVER['HTTP_HOST']为您提供HTTP request header field Host中指定的主机。通常,这两个值是相同的。但由于两者都可以通过用户输入进行操作(请参阅Chris Shiflett’s SERVER_NAME Versus HTTP_HOST),因此在使用这些内容时需要小心。

至于路径,您可能需要自己指定基本URL路径。因为如果您考虑URL重写技术,物理路径(文件系统路径)不需要与逻辑路径(URL路径)相同。因此,您无法从请求的URL路径,脚本文件路径和文档根目录中获取逻辑基本路径。

答案 2 :(得分:0)

您可以使用绝对网址或尝试使用条件重写您的网址。