我有一个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
指令,以禁止用户的homedir之外的文件访问。对于用户jim
,指令将是
php_admin_value open_basedir "/home/jim/"
问题: Apache是否提供了一种方法,通过在上面标记为[*]
的位置上的变量来做到这一点,就像下面这样?
<Directory /home/*/public_html>
php_admin_value open_basedir "${APACHE_CURRENT_DIRECTORY}"
</Directory>
我不太了解mod_php,但这应该可以工作。我假设你的APACHE_CURRENT_DIRECTORY变量应该指向当前目录上下文,所以只是放置一个"。"将照顾它(除非mod php不行为)。让我知道进展如何。
<Directory /home/*/public_html>
php_admin_value open_basedir "."
</Directory>