我有一个站点的两个根目录,httpdocs和httpsdocs。我确信这显然是2的用途。但我希望在整个网站中保持一致,如全球导航。现在我有两个单独的文件(每边一个),我想只有一个。这很难维护,因为每次我改变一个我必须改变另一个(如果我记得),它打破了干燥规则。但是如果我尝试使用相对路径将文件从一侧包含到另一侧,它会告诉我文件路径是不允许的,因为它超出了文档根目录。如果我尝试用绝对URL包含它,我会收到另一个错误,说服务器配置中禁用了文件访问。 (我在托管帐户上,所以我可以更改,因为服务器配置仅限于.htaccess)。所以有人可以想到解决这个问题吗?
答案 0 :(得分:1)
您是否有能力在两个目录之间创建symbolic links?
答案 1 :(得分:1)
为什么不将您的全局包含文件放在另一个目录中(让我们称之为library
),然后让每个http根目录都包含一个包含../library/lib.php
的包含文件,然后设置特定的参数。这为您提供了不在文档根路径中的库php文件的附加功能。
实际上。更新,因为我刚刚阅读了有关“相对路径”问题的条目。
你能设置“include path”php值来包含那个目录吗?
这样的事情:
ini_set('include_path', realpath(dirname(__FILE__)."/../library").":".ini_get('include_path'));
require_once('lib.php');
进行了一些研究 - 看起来除非您能够编辑httpd.conf或php.ini值,否则无法更改open_basedir
。 PHP Manual: open_basedir