有没有办法在apache httpd.conf文件中使用某种types的variables? 我想定义一个值并在整个块中使用它,如下所示
define myvar somename #or whatever the syntax would be alias /my/path "/some/path/${myvar} #or whatever the syntax would be
是的,有点。 你可以用$ {ENVVAR}语法来启动配置文件中的环境变量。 在您启动服务器之前,您需要弄清楚如何设置这些变量。
http://httpd.apache.org/docs/2.2/configuring.html#syntax
请注意,这些变量将会持续存在,所以PHP等语言中的任何脚本都能够读取它们。
另外需要注意的是,只有服务器启动时才会解释这些值,所以它们更像常量而不是变量。
从httpd版本2.4开始,请参阅此答案: https : //stackoverflow.com/a/15731921/498798
尝试mod_macro。 它实际上允许你使用本质上的变量。 来自模块的文档页面的一个例子给出了它的要点:
## Define a VHost Macro for repetitive configurations <Macro VHost $host $port $dir> listn $port <VirtualHost *:$port> serverName $host DocumentRoot $dir <Directory $dir> # do something here... </Directory> # limit access to intranet subdir. <Directory $dir/intranet> Require ip 10.0.0.0/8 </Directory> </VirtualHost> </Macro> ## Use of VHost with different arguments. Use VHost www.apache.org 80 /vhosts/apache/htdocs Use VHost example.org 8080 /vhosts/example/htdocs Use VHost www.example.fr 1234 /vhosts/example.fr/htdocs