我正在使用Apache服务器的PHP。我如何在PHP中检索我的Web根目录,如http://localhost/testthesis/?
http://localhost/testthesis/
syqv5f0l1#
对于站点上的本地链接,只需使用根目录,该目录始终为/。
/
$folder = '/';
或者甚至没有任何变量,只需从/开始任何地址。对于当前请求的地址使用
$_SERVER['REQUEST_URI'];
对于您的Web服务器的根
$protocol = ($_SERVER['HTTPS'] ?? '') === 'on' ? 'http://' : 'https://'; $folder = $protocol . $_SERVER['HTTP_HOST'] . '/';
当前请求的地址
$protocol = ($_SERVER['HTTPS'] ?? '') === 'on' ? 'http://' : 'https://'; $folder = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
8yoxcaq72#
下面是一种方法:
$web_root = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/"; OUTPUT -->http://website.com/parent_folder/
xhv8bpkk3#
Web根目录alwaysjust /。你永远不需要主机名或协议部分,根目录可以只是服务器的根目录,而不是某个文件夹或文件。如果你需要一些路径,比如/testthesis/-有很多方法,但它与webroot没有任何共同之处。如果你需要一个webroot的文件系统目录-它在$_SERVER['DOCUMENT_ROOT']变量中。
/testthesis/
$_SERVER['DOCUMENT_ROOT']
lhcgjxsq4#
你要找的不是一个webroot,而是一个URL。你可以像这样得到你的当前URL:
$protocol = strpos($_SERVER['SERVER_SIGNATURE'], '443') !== false ? 'https://' : 'http://'; $url = $protocol . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
4条答案
按热度按时间syqv5f0l1#
本地服务器上的绝对路径(从客户端的Angular )
对于站点上的本地链接,只需使用根目录,该目录始终为
/
。或者甚至没有任何变量,只需从
/
开始任何地址。对于当前请求的地址使用
完整URL(客户端Angular )
对于您的Web服务器的根
当前请求的地址
8yoxcaq72#
下面是一种方法:
xhv8bpkk3#
Web根目录alwaysjust
/
。你永远不需要主机名或协议部分,根目录可以只是服务器的根目录,而不是某个文件夹或文件。如果你需要一些路径,比如
/testthesis/
-有很多方法,但它与webroot没有任何共同之处。如果你需要一个webroot的文件系统目录-它在
$_SERVER['DOCUMENT_ROOT']
变量中。lhcgjxsq4#
你要找的不是一个webroot,而是一个URL。
你可以像这样得到你的当前URL: