如何在apache的httpd.conf文件中定义一个variables?

我想在Apache服务器的httpd.confconfiguration文件中定义一个variables。

例如:variablesstatic_path = C:\codebase\snp_static

我想在httpd.conf中使用这个variables(static_path)。

请告诉我如何在httpd.conf文件中定义一个variables?

httpd.conf中 ,声明你的variables: Define (最好在第一行)
语法Define variable-name variable-value

以这种方式:

 #The line below creates the variable [static_path] Define static_path C:/codebase/snp_static 

你可以稍后使用这个variables:

 ServerRoot = ${static_path} ... DocumentRoot = ${static_path} ... <Directory ${static_path}> ...etc. 

你甚至可以结合多个variables:

 #Below, I am going to combine variables [server_space] and [static_path] Define server_space c:/ Define static_path codebase/snp_static ... ServerRoot = ${server_space}${static_path} ... DocumentRoot = ${server_space}${static_path} ... <Directory ${server_space}${static_path}> ...etc. 

文档 : http : //httpd.apache.org/docs/2.4/mod/core.html#define

如果您只想在httpd.conf中进行简单的variablesreplace,那么为运行Apache的用户定义一个普通的shell环境variables,然后使用$ {ENVVAR}语法在httpd.conf文件中引用它,请参阅Apache文档

Apache2.4我研究出来了,这是为我工作的。 并使用httpd_z.exe -t -D DUMP_RUN_CFG进行testing

  RESULTS::: ServerRoot: "C:/path/core/apache2" Main DocumentRoot: "C:/path/apache/htdocs" Main ErrorLog: "C:/path/core/apache2/logs/error.log" Mutex rewrite-map: using_defaults Mutex default: dir="C:/path/core/apache2/logs/" mechanism=default PidFile: "C:/path/core/apache2/logs/httpd.pid" Define: DUMP_RUN_CFG Define: US_ROOTF=C:/path **THIS IS THE ROOT PATH VARIABLE I JUST MADE** Define: php54 #<IfDefine TEST> # Define servername test.example.com #</IfDefine> #<IfDefine !TEST> # Define servername www.example.com # Define SSL #</IfDefine> #DocumentRoot /var/www/${servername}/htdocs <IfDefine US_ROOTF> Define US_ROOTF C:/PATH **The path i want the variable for** </IfDefine> <IfDefine !US_ROOTF> Define US_ROOTF C:/PATH **The path i want the variable for** # Define SSL </IfDefine> #DocumentRoot /var/www/${servername}/htdocs OPTIONS ON HOW TO USE EXAMPLE of use ServerRoot = ${US_ROOTF} <IfDefine php54> LoadFile "${US_ROOTF}/core/php54/icudt53.dll" PHPIniDir "${US_ROOTF}/core/php54/php_production.ini" 

有人告诉我,在向互联网提供某些东西时,不要使用任何直接的硬件path,而是始终使用variables来帮助保护您的系统。

我发现这是如此真实的困难的方式。 现在我终于想出了如何为所有使用Apache的服务设置variables。

希望它也能帮助你。