Apache:带有变量的 open_basedir

发布于 2024-11-01 22:39:05 字数 162 浏览 6 评论 0原文

我现在有这个:

<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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

洛阳烟雨空心柳 2024-11-08 22:39:05

不可能。 Apache 不解释指令中的任何变量设置。您可以在某些情况下使用 %1 样式的 RewriteCond 反向引用,甚至可以使用 %{DOCUMENT_ROOT} 。但大多数指令使用静态值。

具体来说,PHP Apache SAPI 不会尝试解释任何 %$ 序列。

Serverfault:在 Apache 配置中使用变量上列出了一些解决方法文件以减少重复?。但是 mod_macromod_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 or mod_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.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文