【发布时间】:2013-05-08 12:51:40
【问题描述】:
我有一个 Apache 2 Web 服务器,它允许每个用户通过 mod_userdir 访问 public_html 目录,如下所示:
<IfModule mod_userdir.c>
UserDir public_html
UserDir disabled root
<Directory /home/*/public_html>
# [*] configuration here
</Directory>
</IfModule>
我想另外配置 PHP 的 open_basedir 指令以禁止用户主目录之外的文件访问。对于用户jim,该指令为
php_admin_value open_basedir "/home/jim/"
问题: Apache 是否提供了一种方法来通过上面标记为 [*] 的位置的变量来执行此操作,类似于以下内容?
<Directory /home/*/public_html>
php_admin_value open_basedir "${APACHE_CURRENT_DIRECTORY}"
</Directory>
【问题讨论】:
-
我猜上面会使用
/home/jim/public_html而不是/home/jim,所以我不得不写"${APACHE_CURRENT_DIRECTORY}/.."之类的东西。 -
用户主目录之外是什么意思?父目录、子目录或其他?另外,APACHE_CURRENT_DIRECTORY 是什么?
标签: php apache2 open-basedir apache2-module