Apache:带有变量的 open_basedir
我现在有这个:
<Directory ~ "^/home/.*">
php_flag open_basedir "/home/$1"
</Directory>
但这不起作用。我如何引用该.*
?
I now have this:
<Directory ~ "^/home/.*">
php_flag open_basedir "/home/$1"
</Directory>
But that doesn't work. How can I refer to that .*
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
不可能。 Apache 不解释指令中的任何变量设置。您可以在某些情况下使用
%1
样式的 RewriteCond 反向引用,甚至可以使用%{DOCUMENT_ROOT}
。但大多数指令使用静态值。具体来说,PHP Apache SAPI 不会尝试解释任何
%
或$
序列。Serverfault:在 Apache 配置中使用变量上列出了一些解决方法文件以减少重复?。但是
mod_macro
或mod_define
都无法实现您想要的效果。您必须为每个主目录单独定义它。 (这也是 Plesk 和 Confixx 对多个帐户所做的事情。)Not possible. Apache does not interpret any variable settings in directives. You can use
%1
style RewriteCond backreferences in some, or%{DOCUMENT_ROOT}
even. But most directives use static values.Specifically PHPs Apache SAPI does not attempt to interpret any
%
or$
sequences.There are a few workarounds listed on Serverfault: Using variables in Apache config files to reduce duplication?. But neither
mod_macro
ormod_define
will accomplish what you want. You will have to define it for each home directory separately. (That is also what Plesk and Confixx do for multiple accounts.)