我已将文件路径定义为 -
$docRoot = $_SERVER['DOCUMENT_ROOT'];
$webRoot = str_replace(array($docRoot, 'library/config.php'), '', $thisFile);
define('WEB_ROOT', $webRoot);
并在我的相应页面中使用,如 -
<a href="<?php echo WEB_ROOT; ?>admin/" class="leftnav">Home</a>
<a href="<?php echo WEB_ROOT; ?>admin/category/" class="leftnav">Category</a>
<a href="<?php echo WEB_ROOT; ?>admin/product/" class="leftnav">Product</a>
但是当我在localhost上运行这个程序时,我运行正常但在服务器上点击这些超链接时会出现以下错误 -
Firefox不知道如何打开此地址,因为协议(d)与任何程序都没有关联。
如果我查看页面源,这些链接的href路径是 -
<a href="D:/Hosting/6448289/html/products/admin/category/" class="leftnav">Category</a>
<a href="D:/Hosting/6448289/html/products/admin/product/" class="leftnav">Product</a>
答案 0 :(得分:0)
按设计工作:$_SERVER["DOCUMENT_ROOT"]
是文件路径,而不是您的基本网址。
你如何定义WEB_ROOT的方法对我来说根本没有意义。无法从Web根路径获取Web根URL。
你可能想要的是
define("WEB_ROOT", "http://".$_SERVER["SERVER_NAME"]."/");
(假设您从不需要https,而且您使用的是Apache)。