定义服务器文件路径时发生错误

时间:2010-08-16 17:50:59

标签: php

我已将文件路径定义为 -

$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> 

1 个答案:

答案 0 :(得分:0)

按设计工作:$_SERVER["DOCUMENT_ROOT"]是文件路径,而不是您的基本网址。

你如何定义WEB_ROOT的方法对我来说根本没有意义。无法从Web根路径获取Web根URL。

你可能想要的是

define("WEB_ROOT", "http://".$_SERVER["SERVER_NAME"]."/");

(假设您从不需要https,而且您使用的是Apache)。