可能是一个微不足道的问题,但我正在寻找一种方法来获取站点 url 的根,例如: http://localhost/some/folder/containing/something/here/or/there
应该返回 http://localhost/
我知道有 $_SERVER['DOCUMENT_ROOT']
但这不是我想要的。
我确信这很容易,但我一直在阅读: 这篇文章 试图找出我应该使用或调用什么。
想法?
我的另一个问题与这个问题有关 - 答案是什么,在 http://subsite.localhost/some/folder/containing/something/here/or/there
这样的网站上工作,所以我的最终结果是 http://subsite.localhost/
原文由 Adam 发布,翻译遵循 CC BY-SA 4.0 许可协议
如果您对当前脚本的方案和主机感兴趣。根据 Web 服务器配置(反向代理、重写),“当前”可能不是您在浏览器中看到的,但它是 PHP 认为它正在处理的。
否则,如果你手头有一个 URL,你想要 parse_url() 的根,正如已经建议的那样。例如
如果您还对路径之前的其他 URL 组件(例如凭据)感兴趣,您还可以在完整 URL 上使用 substr(),将“路径”的开头作为停止位置,例如
注意:strpos() 中的偏移量用于处理 URL 可能已经是根的情况。