【发布时间】:2017-08-12 03:06:04
【问题描述】:
我想使用.htaccess 自动添加 PHP 脚本。我知道有一个指令可以做到这一点。我在 web 根目录的 .htaccess 文件中有以下内容:
php_value auto_prepend_file "./init.php"
init.php文件的内容包括:
<?php
$_SERVER['WEB_ROOT']=
str_replace($_SERVER['SCRIPT_NAME'],'',
$_SERVER['SCRIPT_FILENAME']);
这会计算 web 根的路径并将其放入超全局中。这是我能想到的唯一实用的方法来跟踪诸如包含之类的 Web 根目录。
问题在于这仅适用于 Web 根目录中的 PHP 脚本。如果脚本本身位于子目录中,则会出现错误,因为 init.php 文件不在当前目录中。我不想指定init.php 的绝对路径,因为目前的电流有点不稳定。
我能想到 2 个解决方案:
- 在使用相对路径 (
../init.php) 指向父目录的子目录中包含一个.htaccess文件 - 在所有子目录中包含一个
init.php文件
是否有另一种方法可以指定适用于所有子目录的前置文件?
如果做不到这一点,是否有另一种方法可以将 web 根放入超全局而不用这种废话?
【问题讨论】:
标签: php .htaccess prepend document-root