Apache,目录指令和相对path

说例如我有一个这样的configuration

<VirtualHost 127.0.0.1:80> DocumentRoot "path/to/docroot" <Directory /path/to/docroot/private> #blah </Directory> <Directory /path/to/docroot> #blah </Directory> <Directory /path/to/docroot/anotherdir> #blah </Directory> </VirtualHost> 

我经常使用/ path / to / docroot来限定path。 我希望能够在文件的头部声明/ path / to / docroot的path值,并find一种方法来声明相对于该path的后续目录指令。

有这样的事情我可以做吗? (Pretend Var是一个makeup指令,可以让你声明一个path值,然后再引用它)

 <VirtualHost 127.0.0.1:80> Var DocRoot "path/to/docroot" DocumentRoot DocRoot <Directory DocRoot/Private> #blah </Directory> <Directory DocRoot> #blah </Directory> <Directory DocRoot/anotherdir> #blah </Directory> </VirtualHost> 

有什么这样的我可以使用? 谢谢!!!!

mod_env用于设置可以传递给CGI和SSI页面的variables。 你想做的事情不一定有我知道的任何本地支持。

一个解决scheme是使用称为mod_macro的第三方模块,这将允许一个更dynamic生成的httpd.conf,但不完全是你正在寻找的。

如果你已经安装了mod_perl,你可以使用<perl></perl>在httpd.conf中embeddedperl代码,这将允许一个更加dynamic的httpd.conf。 mod_perl在启动时执行它。 如果你还没有运行mod_perl,那么引入的开销就不值得。

第三种select是使用一组脚本来dynamic生成configuration,这些脚本在Apache之外。 Perl对于这个特定的应用程序来说是一个非常有用的语言