我现在有了这个:
<Directory ~ "^/home/.*">
php_flag open_basedir "/home/$1"
</Directory>
但这行不通。我该怎么称呼那个.*
?
不可能。Apache不解释指令中的任何变量设置。您可以在某些情况下使用%1
样式的RewriteCond反向引用,甚至可以使用%{DOCUMENT_ROOT}
。但大多数指令都使用静态值。
特别是PHP-Apache SAPI不试图解释任何%
或$
序列。
Serverfault上列出了一些解决方法:在Apache配置文件中使用变量来减少重复?。但是mod_macro
和mod_define
都无法实现您想要的。您必须为每个主目录分别定义它。(这也是Plesk和Confixx对多个账户所做的。(