我正在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/”表示服务器名称,其中包含项目当前运行的目录。
任何人都知道如何完成它将是一个很大的帮助。
由于
答案 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)
您可以使用绝对网址或尝试使用条件重写您的网址。